kubernetes中配置一个本地解析

avatar 2024年1月15日18:06:21 评论 547 次浏览

有些时候为了安全考虑,针对服务内部直接调用第三方信息不允许使用解析的域名,需要本地解析,如果本地解析把解析配置在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命令看一下是否解析过去了,好了,没有了,可以看看其他的吧。。。。。。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: