【发布时间】:2021-04-08 11:18:49
【问题描述】:
如何使用不同的域名而不是默认名称来别名 POD Ip 地址。
For Example:
10.1.1.1 testxyz
我的输出必须与下面的新条目一起使用。我已经尝试过使用 hostAliases,但这里的问题是 ipaddress 在 pod 扩展时将是动态的。所以在这种情况下,我不能在部署配置 yaml 文件中将我的 IP 地址保持为静态。此外,我无权使用非 root 用户更改 /etc/hosts 文件。请建议。
Output:
10.1.1.1 testxyz
10.1.1.1 abc.xyz.com
【问题讨论】:
-
您有服务定义吗? IP 地址和名称从何而来?使用
hostAliases:或/etc/hosts可能不是一个长期可维护的解决方案。 -
pods 是可变的,即使你不扩展,pod 也可能因为其他原因而死掉,最终会得到不同的 ip。这就是所有 Pod / 部署都必须通过服务(ClusterIP、NodePort 或 Loadbalander)公开的原因。所有流量都必须通过服务,因此无需担心内部 IP 地址或主机名。您将能够通过在内部 DNS 中配置的服务名称访问应用程序。
-
@david 我在环境变量中设置 pod ip 地址,字段选择器为 status.IP 作为部署配置的一部分
-
@bala 我也尝试过服务。当我使用服务 url 和端口号启动一个应用程序时,它给了我绑定异常的错误。由于这个原因,我试图在 etc/hosts 中添加路由 url 作为部署配置的一部分。它没有工作它抛出如果我在主机别名中使用 env 变量,则会出现异常。请推荐
-
这似乎是 Kubernetes 已经通过DNS for Services and Pods 提供的功能:定义一个匹配 Pod 标签的服务,它会自动将流量转发到匹配的 Pod 并具有稳定的 DNS 名称。您正在处理的更高级别的用例是否直接需要 pod 的 IP 地址,并且不能使用服务?
标签: kubernetes yaml kubernetes-pod