解决CentOS上K8s集群兼容性问题,需从系统版本、组件配置及环境设置等方面入手,具体如下:
匹配系统与K8s版本
sudo yum update -y。配置系统基础环境
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
overlay2存储驱动:编辑/etc/docker/daemon.json,添加{"storage-driver": "overlay2"},重启Docker。安装与初始化K8s组件
sudo yum install -y kubelet kubeadm kubectl
sudo kubeadm init --kubernetes-version=v1.26.0 --pod-network-cidr=10.244.0.0/16 # 示例版本
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
解决网络插件兼容性
kubectl apply -f https://docs.projectcalico.org/v3.24/manifests/calico.yaml # 示例Calico配置
验证与调试
kubectl get nodes,确保状态为Ready。journalctl -u kubelet -f
kubectl logs <pod-name> -n <namespace>
参考来源: