我正在尝试自动化使用开源图像在Kubernetes集群中动态调出两个容器的过程。由于这些图像是第三方图像,因此我对可配置的图像有一些限制。我还需要这些容器放在不同的容器中。
为了便于讨论,我将这些容器称为容器a.domain.com
和容器b.domain.com
。容器A和B需要来回通信,并且此通信使用TLS证书进行保护。
为了实现这种通信,我必须在Kubernetes部署文档的规范中添加以下代码段。
#deployment doc for a.domain.com
spec:
hostAliases:
- ip: <Insert IP address for b.domain.com>
hostnames:
- "b.domain.com"
#deployment doc for b.domain.com
spec:
hostAliases:
- ip: <Insert IP address for a.domain.com>
hostnames:
- "a.domain.com"
如果缺少此代码,则会出现以下错误:
Error on container a.domain.com: No such host - b.domain.com
Error on container b.domain.com: No such host - a.domain.com
由于必须将两个容器放在一起,因此无法在yaml文件中对IP地址进行硬编码。
无论如何,我是否可以为这些容器的部署文档添加一个参数,以使我能够确定性地预先配置Pod出现时使用的IP地址?
最佳答案
发布OP的评论作为答案(社区Wiki):
我终于弄明白了。使用service-name.namespace代替service-name.namespace.svc.cluster.local为我解决了这个问题。
关于docker - 如何在Kubernetes(GCP)中预配置Pod的IP地址?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58103983/