在CentOS上配置Kubernetes网络时,有几个关键要点需要注意:
关闭防火墙和SELinux:
systemctl stop firewalld && systemctl disable firewalld
/etc/selinux/config
文件,临时关闭可以使用 setenforce 0
命令。配置网络接口:
/etc/sysconfig/network-scripts/
目录下,文件名以 ifcfg-
开头。例如,编辑 ifcfg-ens33
文件设置静态IP地址、子网掩码、网关等信息。systemctl restart network
或 nmcli networking off && nmcli networking on
。启用内核参数:
/etc/sysctl.d/k8s.conf
文件,启用必要的内核参数,如:net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
sysctl --system
。选择并部署网络插件:
Flannel:
/usr/local/bin
目录下。/etc/kubernetes/flannel.yml
,示例配置如下:{
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan"
}
}
flanneld -etcd-endpoints=http://<etcd地址>:2379 -etcd-prefix=/kube-centos/network -iface=<节点网卡名称> -ip-masq=true -kube-subnet-mgr=true -logtostderr=true &
。Calico:
/opt/calico/calico.yaml
,示例配置如下:apiVersion: v1
kind: ConfigMap
metadata:
name: calico-conf
namespace: kube-system
data:
cni.conf: |
{
"name": "k8s-pod-network",
"cniVersion": "0.3.1",
"plugins": [
{
"type": "calico",
"log_level": "info",
"etcd_endpoints": "http://<etcd地址>:2379",
"etcd_key_file": "/etc/kubernetes/pki/etcd/etcd-key.pem",
"etcd_cert_file": "/etc/kubernetes/pki/etcd/etcd.pem",
"etcd_ca_cert_file": "/etc/kubernetes/pki/etcd/etcd-ca.pem",
"mtu": 1440,
"ipam": {
"type": "calico-ipam"
},
"policy": {
"type": "k8s"
},
"kubernetes": {
"kubeconfig": "/etc/kubernetes/kubelet.conf"
}
},
{
"type": "portmap",
"snat": true,
"capab"
}
]
}
配置Service资源:
配置Pod网络策略:
通过以上步骤,你可以在CentOS上成功配置Kubernetes网络,确保集群中的各个组件能够正常通信。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>