Jat*_*tin 9 docker kubernetes docker-compose
来自kubernetes 文档:
pod中的应用程序都使用相同的网络命名空间(相同的IP和端口空间),因此可以相互" 查找 "并使用localhost进行通信.
是否可以使用某些特定于容器的名称而不是locahost?
例如,使用docker-compose up,您使用服务的名称进行通信.[文档]
所以,如果我的docker-compose.yml文件是
version: '2'
services:
web:
build: .
ports:
- "8000:8000"
srv:
build: .
ports:
- "3000:3000"
Run Code Online (Sandbox Code Playgroud)
然后我通过电话srv从内部访问,而不是webhttp://srv:3000/ http://localhost:3000
如何在kubernetes中实现相同的行为?有什么方法可以指定在pods的yaml配置中使用什么名称?
docker-compose 部署单独的容器,将它们链接在一起,以便它们知道彼此的名称和 IP。
一个Pod在Kubernetes是相似的,但是这不是一个吊舱的目的而就多个外部服务,并将它们连接在一起。
Pod 用于必须在同一主机上运行且仅在它们之间交互的容器。容器通过本地主机进行内部通信。
大多数Pods实际上是单个容器。
APod使用 与外部通信Services。本质上,Pod 看起来就像是一个容器。
在引擎盖下,一个 Pod 至少有 2 个容器:pause容器管理 Pod 的 IP,然后是你附加的容器。这允许您的容器在不更改 IP 的情况下在 Pod 中崩溃、重新启动和重新链接,允许在不涉及调度程序的情况下管理容器崩溃,并确保 Pod 在其生命周期内保持在单个节点上,因此重新启动速度很快。
如果我们在每次崩溃时重新安排容器,它们最终可能会在不同的主机上,路由将不得不更新等等......
| 归档时间: |
|
| 查看次数: |
4047 次 |
| 最近记录: |