在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路由。以上步骤参考自,具体配置可根据集群规模和需求调整。