有些时候为了安全考虑,针对服务内部直接调用第三方信息不允许使用解析的域名,需要本地解析,如果本地解析把解析配置在node节点有点麻烦了,而且也不一定能够使用宿主机的解析,所以考虑是否可以在创建容器的时候增加一个hosts解析记录并写到文件里,方便容器使用。我这里是直接给服务的模版增加的一个解析。
spec.template.spec.containers ................ enableServiceLinks: true hostAliases: - hostnames: - www.wulaoer.org - demo1.wulaoer.org ip: 127.0.0.1 - hostnames: - demo.wulaoer.org ip: 127.0.0.1
配置好后直接创建pod,我们看一下容器里是什么内容,在本地解析的hosts文件中,我们看到配置的内容解析到hosts文件里了。
[root@master01 ~]# kubectl exec -it -n wulaoer demo-5d898f5796-8ws5j /bin/bash kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead. Defaulted container "demo" out of: demo, filebeat root@demo-5d898f5796-8ws5j:/apps/works# cat /etc/hosts # Kubernetes-managed hosts file. 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet fe00::0 ip6-mcastprefix fe00::1 ip6-allnodes fe00::2 ip6-allrouters 10.244.127.232 demo-5d898f5796-8ws5j # Entries added by HostAliases. 127.0.0.1 demo.wulaoer.org 127.0.0.1 www.wulaoer.org 127.0.0.1 demo1.wulaoer.org
然后可以安装一下ping命令看一下是否解析过去了,好了,没有了,可以看看其他的吧。。。。。。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏