2017年5月23日星期二

OpenShift_078:离线安装 OCP 3.5 之 环境准备 之 DNS 服务配置

1. 修改 /etc/hosts(在 Master 机器上操作)
echo "192.168.56.111     master.example.com" >> /etc/hosts;
echo "192.168.56.112     registry.example.com" >> /etc/hosts;
echo "192.168.56.112     git.example.com" >> /etc/hosts;
echo "192.168.56.112     yum.example.com" >> /etc/hosts;
echo "192.168.56.112     nfs.example.com" >> /etc/hosts;
echo "192.168.56.113     node1.example.com" >> /etc/hosts;
echo "192.168.56.114     node2.example.com" >> /etc/hosts;

2.  添加 dnsmasq 配置,添加 wildcard 域名指向(在 Master 机器上操作)
cat > /etc/dnsmasq.d/openshift-cluster.conf <<EOF
local=/example.com/
address=/.apps.example.com/192.168.56.113
EOF


说明:192.168.56.113 是 router 所在的 node 节点,这里是 Node1。

3.  启动 dnsmasq 服务(在 Master 机器上操作)
systemctl start dnsmasq;
systemctl enable dnsmasq;

4.  修改 iptables 规则(在 Master 机器上操作)
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak.$(date "+%Y%m%d%H%M%S");
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;
systemctl restart iptables;
systemctl enable iptables;

5. 配置 Master 域名解析(在 Master 机器上操作)
systemctl restart NetworkManager;
nmcli con mod $(nmcli  con show |grep -v docker|head -2|tail -1|awk '{print $1}') ipv4.dns $(hostname -i);
或者 nmcli con mod enp0s8 ipv4.dns 192.168.56.111
systemctl restart NetworkManager;

说明:该命令的结果是在网卡 enp0s8 的配置中增加一项:DNS1=192.168.56.111

6.  配置各节点域名解析(在其它机器(除 Master)上操作)
cat > /etc/dnsmasq.d/openshift-cluster-node.conf <<EOF
server=192.168.56.111
EOF
systemctl restart dnsmasq;
systemctl enable dnsmasq;

systemctl restart NetworkManager;
nmcli con mod $(nmcli  con show |grep -v docker|head -2|tail -1|awk '{print $1}') ipv4.dns $(hostname -i);
或者
nmcli con mod enp0s8 ipv4.dns 192.168.56.112 (在 Registry 机器上操作)
nmcli con mod enp0s8 ipv4.dns 192.168.56.113 (在 Node1 机器上操作)
nmcli con mod enp0s8 ipv4.dns 192.168.56.114 (在 Node2 机器上操作)
systemctl restart NetworkManager;

7. 测试 DNS 域名解析(在所有机器上操作)
ping master.example.com -c 3;
ping node1.example.com -c 3;
ping node2.example.com -c 3;
ping registry.example.com -c 3;
ping git.example.com -c 3;
ping yum.example.com -c 3;
ping apps.example.com -c 3;

8. 原理说明
(1)每台机器的网卡 enp0s8 的 DNS1 的配置都指向自己机器的 IP 地址
(2)每台机器(除 Master 以外)的 /etc/dnsmasq.d/openshift-cluster-node.conf 的配置都指向 Master 机器的 IP 地址
(3)Master 机器的 /etc/dnsmasq.d/openshift-cluster.conf 的配置都指向 router 所在机器的 IP 地址。

没有评论: