之前在建立openshift集群时,是直接修改各个节点的/etc/hosts文件,加上静态的域名解析。当节点数量很多或者后续执行集群节点扩容时,都需要修改大量的/etc/hosts文件,很麻烦。
这里选择在本地搭建一个DNS服务器。我选择将DNS服务器部署到了Master节点上。
登录Master节点执行操作。
根据自己的实际情况配置,整合之前配置的静态域名解析。
添加wildcard域名指向。创建文件/etc/dnsmasq.d/openshift-cluster.conf,内容如下:
10.126.3.207是我master的ip。
local=/example.com/
address=/.apps.example.com/10.126.3.207
# systemctl start dnsmasq
# systemctl enable dnsmasq
sed指令如下:
# 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
# systemctl restart iptables
# nmcli con mod $(nmcli con show |grep -v docker|head -2|tail -1|awk '{print $1}') ipv4.dns $(hostname -i)
# systemctl restart NetworkManager
nmcli con show |grep -v docker|head -2|tail -1|awk '{print $1}'是拿网卡名。
hostname -i是拿ip地址。
# systemctl restart dnsmasq
# systemctl enable dnsmasq
# nmcli con mod $(nmcli con show |grep -v docker|head -2|tail -1|awk '{print $1}') ipv4.dns $(hostname -i)
# systemctl restart NetworkManager
在node2节点上进行测试,node2的/etc/hosts文件内容如下:
可以看出我已经删除了node2的静态域名解析。
# ping master.example.com -c 3
# ping node1.example.com -c 3
# ping node2.example.com -c 3