在CentOS上配置Kubernetes(k8s)網絡是一個關鍵步驟,以下是詳細的指南:
配置靜態IP:
例如,master節點的IP設置為192.168.8.106,node1為192.168.8.107,node2為192.168.8.108。
編輯/etc/sysconfig/network-scripts/ifcfg-ens33
文件,設置如下:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="d90cbc3c-ba5e-4a72-8f7e-a5ae8c48158a"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.8.106
IPADDR2=192.168.8.107
IPADDR3=192.168.8.108
PREFIX=24
GATEWAY=192.168.8.1
DNS1=8.8.8.8
DNS2=114.114.114.114
設置完后重啟網絡服務:
systemctl restart network
檢查網絡配置:
ip addr show ens33
關閉防火墻:
systemctl stop firewalld
systemctl disable firewalld
禁用SELinux:
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
關閉交換分區:
swapoff -a
sed -i '/swap/ s/^/#/' /etc/fstab
修改主機名:
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
配置hosts文件:
cat <<EOF > /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.106 k8s-master
192.168.8.107 k8s-node1
192.168.8.108 k8s-node2
EOF
安裝Docker:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable --now docker
systemctl start docker
安裝kubeadm、kubelet和kubectl:
yum install -y kubelet kubeadm kubectl
systemctl enable --now kubelet
systemctl start kubelet
在master節點上初始化集群:
kubeadm init
配置kubectl:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安裝Flannel網絡插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
在其他節點上運行kubeadm join
命令,加入集群:
kubeadm join 192.168.8.106:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
以上步驟涵蓋了在CentOS 7上配置Kubernetes集群的基本網絡設置。根據具體需求,可能還需要進行更多的網絡配置和優化。建議參考Kubernetes官方文檔以獲取最新的配置指南和最佳實踐。