作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因为我面临着 issue,所以我覆盖了 pod 的 dns 策略默认 /etc/resolv.conf
pod 的。另一个问题是由于默认 /etc/resolv.conf
,pod 无法连接到 smtp 服务器服务器。 pod 的
因此,需要应用于部署/pod 的 dnspolicy 是:
dnsConfig:
nameservers:
- <ip-of-the-node>
options:
- name: ndots
value: '5'
searches:
- monitoring.svc.cluster.local
- svc.cluster.local
- cluster.local
dnsPolicy: None
在上面的配置中
nameservers
需要是部署 pod 的节点的 IP。由于我有三个工作节点,我无法将值硬编码到特定工作节点的 IP。我不希望将 pod 配置为部署到特定节点,因为如果资源不足以让 pod 部署到特定节点,则 pod 可能会保持挂起状态。
nameservers
获取部署 pod 的节点的 IP 地址的值?
nameservers
使用某种通用参数,以便 pod 能够连接到 smtp 服务器。
最佳答案
dnsConfig
support up to 3 IP addresses如此指定,理论上您可以在 nameservers
中对其进行硬编码 field 。但是,作为一种解决方法,您可以将节点 IP 地址作为 env variable and then pass it to the pod 传递。 .例子:
spec:
containers:
- name: envar-demo-container
command: ["/bin/sh"]
args: ["-c", "printenv NODE_IP >> /etc/resolv.conf"]
image: nginx
env:
- name: NODE_IP
valueFrom:
fieldRef:
fieldPath: status.hostIP
fieldPath: status.hostIP
获取部署 pod 的节点的 IP 地址并将其保存为环境变量。然后写入
/etc/resolv.conf
.
关于kubernetes - 如何在 dnsConfig 中将节点 ip 设置为名称服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64308334/
我是一名优秀的程序员,十分优秀!