在CentOS上部署Kubernetes(k8s)時,網絡配置需完成以下關鍵步驟:
關閉防火墻與SELinux
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
禁用Swap分區
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab
配置靜態IP
編輯網絡配置文件(如/etc/sysconfig/network-scripts/ifcfg-ens33):
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100 # 根據實際IP修改
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
重啟網絡服務:
systemctl restart network
配置主機名與hosts文件
hostnamectl set-hostname k8s-master # 主節點
# 或 hostnamectl set-hostname k8s-node1 # 從節點
在/etc/hosts中添加集群節點IP與主機名映射:
192.168.1.100 k8s-master
192.168.1.101 k8s-node1
安裝Flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
驗證插件狀態
kubectl get pods -n kube-system -l k8s-app=flannel
Calico(支持網絡策略)
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
Weave Net(支持加密)
kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')
--pod-network-cidr)與插件兼容(如Flannel默認10.244.0.0/16)。net.ipv4.ip_forward=1),部分插件(如Calico)需配置BGP路由。以上步驟參考自,具體配置可根據集群規模和需求調整。