CentOS 集群 Kubernetes 安装指南(kubeadm 快速部署)
一 环境准备与系统初始化
swapoff -a && sed -i '/swap/s/^/#/' /etc/fstabsetenforce 0 && sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/configsystemctl stop firewalld && systemctl disable firewalldyum install -y chrony && systemctl enable --now chronydhostnamectl set-hostname k8s-master(Master)/etc/hosts 添加如:192.168.1.10 k8s-master、192.168.1.11 k8s-node1modprobe br_netfilterecho 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf && sysctl -p二 安装容器运行时与 Kubernetes 组件
yum install -y yum-utilsyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum install -y docker-ce docker-ce-cli containerd.iosystemctl enable --now dockercat >/etc/yum.repos.d/kubernetes.repo <<EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOFyum install -y kubelet kubeadm kubectl --disableexcludekubernetessystemctl enable --now kubelet三 初始化 Master 节点
kubeadm init --apiserver-advertise-address=<MASTER_IP> --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers--apiserver-advertise-address:Master 节点 IP--pod-network-cidr:Pod 网段;Flannel 常用 10.244.0.0/16,Calico 常用 192.168.0.0/16--image-repository:镜像仓库(国内可用 registry.aliyuncs.com/google_containers)--kubernetes-version:指定版本(如 v1.22.15)mkdir -p $HOME/.kubecp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/configkubeadm token create --print-join-command四 部署网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f https://docs.projectcalico.org/manifests/calico.yamlkubectl get nodes(节点状态应为 Ready)kubectl get pods -n kube-system(核心组件与网络插件 Pod 应为 Running)五 加入 Worker 节点与验证
kubeadm join <MASTER_IP>:6443 --token <TOKEN> --discovery-token-ca-cert-hash sha256:<HASH>kubectl get nodes,确认所有节点 Readykubectl get pods -n kube-system--image-repository registry.aliyuncs.com/google_containers)