CentOS 上用 kubeadm 部署 Kubernetes 的标准流程
一 环境准备与基础配置
sudo yum update -y;安装常用工具(如 yum-utils)。hostnamectl set-hostname k8s-master),并在 /etc/hosts 中写入 IP-主机名 映射,便于内网解析。sudo swapoff -a,并注释 /etc/fstab 中的 swap 行,保证重启后依然禁用。sudo systemctl stop firewalld && sudo systemctl disable firewalld;sudo setenforce 0;如需持久化,编辑 /etc/selinux/config 将 SELINUX=enforcing 改为 SELINUX=permissive 或 disabled 并重启。二 安装容器运行时与 Kubernetes 组件
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install -y docker-ce docker-ce-cli containerd.io && sudo systemctl enable --now dockercat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
sudo yum install -y kubelet kubeadm kubectl --disableexcludekubernetessudo systemctl enable --now kubelet(注意:kubelet 会持续重启直至集群初始化完成)三 初始化 Master 节点
sudo kubeadm init --apiserver-advertise-address=<Master_IP> --pod-network-cidr=10.244.0.0/16--image-repository registry.aliyuncs.com/google_containers--kubernetes-version=v1.26.xmkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
sudo kubeadm token create --print-join-commandkubeadm init 输出中的 kubeadm join ... --token <token> --discovery-token-ca-cert-hash sha256:<hash>四 部署 CNI 网络插件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
kubectl get pods -n kube-system 应看到 kube-flannel 或 calico 相关 Pod 均为 Running。五 加入 Worker 节点与验证
kubeadm join ... 命令,加入集群。kubectl get nodes(所有节点应为 Ready)kubectl get pods -n kube-system(核心组件 Running)kubectl cluster-infokubeadm token create --print-join-command。