我正在使用Debian Jessie映像在AWS上部署Kops Kubernetes集群。
我的是一个混合环境,其中我的工件位于DC的物理环境中。现在,我遇到了一个问题,除非在/ etc / hosts文件中指定工件FQDN和IP,否则我的工作节点无法从工件中提取图像。
因此,这是手动编辑,执行此操作后一切正常。因此,我继续将数据添加到Kops辅助节点组的其他userdata
中,但是一段时间后,我发现辅助节点上的主机文件已被覆盖,并且在节点重新启动后也很明显。>
那我该如何解决!!
答案 0 :(得分:1)
real 的答案是运行您自己的DNS服务器,或者至少使用DNS主机名进行解析。如果您的路由器支持,则可以设置本地主机名(machine-1.local)
如果这不可能,那么如果您拥有虚拟机,则可以尝试使用puppet之类的解决方案。另外,我相信Kubernetes确实具有DNS插件。另外,您可以在启动时使用crontab来写入hosts文件,但这是一个肮脏的解决方案。
此外,每次DHCP更新时,主机文件都会被重写。您可以使用静态IP,但同样,DNS是必经之路。
答案 1 :(得分:0)
另一种解决方法是将其放入您的/etc/rc.local
文件中:
如果文件存在,请将其添加到末尾:
echo '<ip-address-of-artifactory> <fqdn-of-artifactory>' >> /etc/hosts
如果文件不存在,请创建它:
$ cat << EOF > /etc/rc.local
#!/bin/sh -e
#
echo '<ip-address-of-artifactory> <fqdn-of-artifactory>' >> /etc/hosts
EOF
$ chmod 755 /etc/rc.local
$ reboot # check that it works