背景:
今天突然就有了那么一个需求,记录一下:腾讯云的redis内网地址都是IP的方式。我们的服务注册在了nacos中。小伙伴本地测试链接上nacos(nacos开通了外网访问),获取redis中redis配置都是内网的redis IP故无法加入注册到集群。同事问我能不能将Redis ip设置成域名的方式,那样他本地好歹能做个假的解析做一个欺骗把服务启动起来?(懒得改代码毕竟) 正好就搜到了这两篇文章:Kubernetes之自定义hosts 与 使用 HostAliases 向 Pod /etc/hosts 文件添加条目 故记录一下!
Kubernetes通过HostAliases自定义hosts
初始配置:
nacos中关于redis的配置: 至于腾讯云的redis服务是内网IP的方式,虽然现在也有了可以开启外网地址的途径: 但是如果开通外网地址,还是会涉及到修改代码判断内网外网地址,nacos增加配置,甚至要设置安全组?放弃了。还是老老实实使用host的方式去了
修改host的方式
没有看到那两篇文章的时候我就想到了host的方式:恩 最苯的方法就是修改主机的host配置文件: 基本就是那么一个过程我也测试通过了.紧接着问题有来了,我有四台work节点。难道要每台work节点都要设置Host吗?如果以后修改怎么办?增加机器呢?不想使用这样的方式,还有就是镜像打包的时候直接打进去host?也不现实,我镜像是准备复用的还......然后就找到了前面的两篇文章,采用了HostAliases的方式!
HostAliases自定义hosts
nacos配置
先修改一下nacos中配置文件:
修改发版模板文件
我的ci/cd都直接偷懒用jenkins。反正现在还够用** tpl模板** 发版将表情替换生成yaml文件,然后发布到集群中,使用用的这种的思路: 我的tpl文件:
hostAliases: #配置hosts文件
- ip: "10.0.4.82" #配置解析的IP
hostnames:
- "qa-xx.xxxx.com"
基本就是那么玩的。jenkins 更新服务,查看pod启动日志没有问题,pod都running了 ,进入pod查看hosts一下: ok,就到这里了,只是简单记录一下**HostAliases!**以后说不定还能用到.......