Kubernetes通过HostAliases自定义hosts

背景:

今天突然就有了那么一个需求,记录一下:腾讯云的redis内网地址都是IP的方式。我们的服务注册在了nacos中。小伙伴本地测试链接上nacos(nacos开通了外网访问),获取redis中redis配置都是内网的redis IP故无法加入注册到集群。同事问我能不能将Redis ip设置成域名的方式,那样他本地好歹能做个假的解析做一个欺骗把服务启动起来?(懒得改代码毕竟)

正好就搜到了这两篇文章Kubernetes之自定义hosts使用 HostAliases 向 Pod /etc/hosts 文件添加条目

故记录一下!

Kubernetes通过HostAliases自定义hosts

初始配置:

nacos中关于redis的配置:

image.png

至于腾讯云的redis服务是内网IP的方式,虽然现在也有了可以开启外网地址的途径:

image.png

image.png

但是如果开通外网地址,还是会涉及到修改代码判断内网外网地址,nacos增加配置,甚至要设置安全组?放弃了。还是老老实实使用host的方式去了

修改host的方式

没有看到那两篇文章的时候我就想到了host的方式:恩 最苯的方法就是修改主机的host配置文件

image.png

基本就是那么一个过程我也测试通过了.紧接着问题有来了,我有四台work节点。难道要每台work节点都要设置Host吗?如果以后修改怎么办?增加机器呢?不想使用这样的方式,还有就是镜像打包的时候直接打进去host?也不现实,我镜像是准备复用的还......然后就找到了前面的两篇文章,采用了HostAliases的方式!

HostAliases自定义hosts

nacos配置

修改一下nacos中配置文件

image.png

修改发版模板文件

我的ci/cd都直接偷懒用jenkins。反正现在还够用 tpl模板 发版将表情替换生成yaml文件,然后发布到集群中,使用用的这种的思路:

我的tpl文件

image.png
      hostAliases:                   #配置hosts文件
      - ip: "10.0.4.82"            #配置解析的IP
        hostnames:
        - "qa-xx.xxxx.com"

基本就是那么玩的。jenkins 更新服务,查看pod启动日志没有问题,pod都running了 ,进入pod查看hosts一下:

image.png

ok,就到这里了,只是简单记录一下HostAliases!以后说不定还能用到.......

相关文章

Redis Cluster 提供了一种运行 Redis 安装的方法,其中数据&...
创建GitLab源码项目并上传示例代码 1. 创建GitLab源码项目 本...
1. 引言 在如今的技术世界中,随着微服务架构的广泛应用和云...
先看看结果有多轻量吧 官方文档:https://grafana.com/docs/...
一、安装环境说明 硬件要求 内存:2GB或更多RAM CPU: 2核CPU...
CEPH 简介 不管你是想为云平台提供Ceph 对象存储和/或 Ceph ...