之前在建立openshift集群时,是直接修改各个节点的/etc/hosts文件,加上静态的域名解析。当节点数量很多或者后续执行集群节点扩容时,都需要修改大量的/etc/hosts文件,很麻烦。
这里选择在本地搭建一个DNS服务器。我选择将DNS服务器部署到了Master节点上。 这种方法仅限openshift集群搭建完成之后能用,因为openshift集群在搭建过程中会自动配置dnsmasq。集群安装完成后进行补充即可。
登录Master节点执行操作。
修改/etc/hosts配置
根据自己的实际情况配置,整合之前配置的静态域名解析。
添加dnsmasq配置
添加wildcard域名指向。创建文件/etc/dnsmasq.d/openshift-cluster.conf,内容如下: 10.126.3.207是我master的ip。
代码语言:javascript复制local=/example.com/
address=/.apps.example.com/10.126.3.207
启动dnsmasq服务
代码语言:javascript复制# systemctl start dnsmasq
# systemctl enable dnsmasq
配置防火墙
所有节点都配置 若是iptables,sed指令如下:
代码语言:javascript复制# sed -i '/.*--dport 22 -j ACCEPT.*/a-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT' /etc/sysconfig/iptables
# sed -i '/.*--dport 22 -j ACCEPT.*/a-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT' /etc/sysconfig/iptables
重启iptables
代码语言:javascript复制# systemctl restart iptables
若是filewalld
配置Master域名解析
网卡配置文件中添加DNS,为10.126.3.207。
代码语言:javascript复制# systemctl restart NetworkManager
配置各个Node节点的域名解析
- 添加dnsmasq配置 创建文件/etc/dnsmasq.d/openshift-cluster-node.conf,内容如下: 10.126.3.207是我master的ip。
server=10.126.3.207
- 重启dnsmasq
# systemctl restart dnsmasq
# systemctl enable dnsmasq
- 配置域名解析 网卡配置文件中添加DNS,为10.126.3.207。
# systemctl restart NetworkManager
测试DNS解析
在node2节点上进行测试,node2的/etc/hosts文件内容如下:
可以看出我已经删除了node2的静态域名解析。
测试
代码语言:javascript复制# ping master.example.com -c 3
# ping node1.example.com -c 3
# ping node2.example.com -c 3
域名解析正确。