首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个容器中运行的相同(微)服务如何标识自己

在多个容器中运行的相同(微)服务如何标识自己
EN

Stack Overflow用户
提问于 2021-06-18 14:14:39
回答 1查看 33关注 0票数 0

我不确定这是不是一个愚蠢的问题。当同一个应用程序/服务在多个容器中运行时,它们如何向zookeeper/etcd报告自己并识别自己?因此负载均衡器知道不同的实例,并知道要与谁交谈,在哪里探测和分派,等等?或者服务实例将在其标识中使用容器中的某个id?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2021-06-18 19:37:10

首先,让我用几句话来解释how it works

基本构建块从Pod开始,它只是一个可以按需创建和销毁的资源。由于Pod可以移动或重新调度到另一个节点,因此分配给该Pod的任何内部IP都可能随时间而改变。如果我们要连接到这个Pod来访问我们的应用程序,它在下一次重新部署时将不起作用。要使Pod 能够在不依赖任何内部IP的情况下访问外部网络或群集的,我们需要另一个抽象层。K8s通过我们所说的服务部署提供了这种抽象。

通过这种方式,您可以创建一个将由负载均衡器识别的网站。

服务为跨群集统一工作的Pod提供网络连接。服务发现是确定如何连接到服务的实际过程。

您还可以找到有关服务in the official documentation的一些信息

是一种将运行在一组Pods上的应用程序作为网络服务进行公开的抽象方法。使用Kubernetes,您无需修改应用程序即可使用不熟悉的服务发现机制。Kubernetes为Pod提供自己的IP地址和一组Pod的单个DNS名称,并且可以在它们之间进行负载均衡。

Kubernetes支持两种主要的服务查找模式-环境变量和DNS。您可以阅读有关此主题herehere的更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68030198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档