从kubernetes的文档:
一个pod中的所有应用程序都使用相同的网络命名空间(相同的IP和端口空间),因此可以使用localhost“找到”彼此并进行通信。
是否可以使用一些容器特定的名称代替localhost
?
例如,使用docker-compose up
时,您使用服务名称进行通信。[文档]
所以,如果我的docker-compose.yml文件是
version: '2'
services:
web:
build: .
ports:
- "8000:8000"
srv:
build: .
ports:
- "3000:3000"
那么我通过调用 http://srv:3000/
,而不是http://localhost:3000
,从web
中访问srv
。
在Kubernetes中如何实现相同的行为? 是否有一种方法可以在Pod的yaml配置中指定要使用的名称?
/etc/hosts
,因为主机可能会出现并消失。另外,由于容器彼此相关,我无法将它们作为服务。这里有什么解决办法吗? - Jatin