在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官方文档以获取最新的配置指南和最佳实践。