15.k8s集群防火墙配置
防火墙配置
########################
# master节点防火墙设置
######################### 所有master节点开放相关防火墙端口
$ firewall-cmd --zone=public --add-port=6443/tcp --permanent
$ firewall-cmd --zone=public --add-port=2379-2380/tcp --permanent
$ firewall-cmd --zone=public --add-port=10250/tcp --permanent
$ firewall-cmd --zone=public --add-port=10251/tcp --permanent
$ firewall-cmd --zone=public --add-port=10252/tcp --permanent
$ firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent# 所有master节点必须开启firewalld该设置,否则dns无法解释
$ firewall-cmd --add-masquerade --permanent
$ firewall-cmd --reload
$ firewall-cmd --list-all --zone=public########################
# worker节点防火墙设置
######################### 所有worker节点开放相关防火墙端口
$ firewall-cmd --zone=public --add-port=10250/tcp --permanent
$ firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent# 所有worker节点必须开启firewalld该设置,否则dns无法解释
$ firewall-cmd --add-masquerade --permanent
$ firewall-cmd --reload
$ firewall-cmd --list-all --zone=public# 所有节点清除iptables规则,解决firewalld引起nodeport无法访问问题
$ iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited# 所有节点设置root的crontab,每十分钟设置一次
$ echo '5,15,25,35,45,55 * * * * /usr/sbin/iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited' >> /var/spool/cron/root && crontab -liptables -P OUTPUT ACCEPT && iptables -P FORWARD ACCEPT && iptables -F && iptables -L -n
Master node inbound: TCP: 443 from Worker Nodes, API Requests, and End-UsersUDP: 8285,8472 from Master & Worker NodesWorker node inbound: TCP: 10250 from Master NodesTCP: 10255 from HeapsterTCP: 30000-32767 from External Application ConsumersTCP: 1-32767 from Master & Worker NodesTCP: 179 from Worker NodesUDP: 8472 from Master & Worker NodesUPD: 179 from Worker NodesEtcd node inbound: TCP: 2379-2380 from Master & Worker Nodesfirewall-cmd --zone=public --add-port=8285/udp --permanentfirewall-cmd --zone=public --add-port=10255/tcp --permanentfirewall-cmd --zone=public --add-port=179/udp --permanent$ firewall-cmd --add-masquerade --permanent
$ firewall-cmd --reload
$ firewall-cmd --list-all --zone=public# centos8 要追加这个
firewall-cmd --permanent --zone=kubernetes_pods --add-source=<POD SUBNET CIDR>