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;
echo "192.168.56.115 cf.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 enp0s3 ipv4.dns 192.168.56.111
systemctl restart NetworkManager;
说明:该命令的结果是在网卡 enp0s3 的配置中增加一项: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 enp0s3 ipv4.dns 192.168.56.112 (在 Registry 机器上操作)
nmcli con mod enp0s3 ipv4.dns 192.168.56.113 (在 Node1 机器上操作)
nmcli con mod enp0s3 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)每台机器的网卡 enp0s3 的 DNS1 的配置都指向自己机器的 IP 地址。
(2)每台机器(除 Master 以外)的 /etc/dnsmasq.d/openshift-cluster-node.conf 的配置都指向 Master 机器的 IP 地址。
(3)Master 机器的 /etc/dnsmasq.d/openshift-cluster.conf 的配置都指向 router 所在机器的 IP 地址。
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;
echo "192.168.56.115 cf.example.com" >> /etc/hosts;
2. 添加 dnsmasq 配置,添加 wildcard 域名指向(在 Master 机器上操作)
local=/example.com/
address=/.apps.example.com/192.168.56.113
EOF
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 enp0s3 ipv4.dns 192.168.56.111
systemctl restart NetworkManager;
说明:该命令的结果是在网卡 enp0s3 的配置中增加一项: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 enp0s3 ipv4.dns 192.168.56.112 (在 Registry 机器上操作)
nmcli con mod enp0s3 ipv4.dns 192.168.56.113 (在 Node1 机器上操作)
nmcli con mod enp0s3 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)每台机器的网卡 enp0s3 的 DNS1 的配置都指向自己机器的 IP 地址。
(2)每台机器(除 Master 以外)的 /etc/dnsmasq.d/openshift-cluster-node.conf 的配置都指向 Master 机器的 IP 地址。
(3)Master 机器的 /etc/dnsmasq.d/openshift-cluster.conf 的配置都指向 router 所在机器的 IP 地址。
没有评论:
发表评论