CentOS 下 Kubernetes 安装教程(kubeadm 快速上手)
一 环境准备与前置条件
swapoff -a 并注释 /etc/fstab 中的 swap 行。cat > /etc/sysctl.d/k8s.conf <<EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1EOFsysctl --system 生效。setenforce 0 并修改 /etc/selinux/config)。firewalld;生产环境按需放行端口(见下文)。二 安装容器运行时与 Kubernetes 组件
yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum install -y docker-ce docker-ce-cli containerd.io && systemctl start docker && systemctl enable dockercat <<EOF | tee /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpgEOFyum install -y kubelet kubeadm kubectl --disableexcludes=kubernetessystemctl enable --now kubelet(初始化完成前 kubelet 可能反复重启,属正常现象)三 初始化 Master 节点
kubeadm init \--apiserver-advertise-address=<MASTER_IP> \--image-repository=registry.aliyuncs.com/google_containers \--kubernetes-version=v1.22.15 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16--pod-network-cidr 需与所选 CNI 插件一致(见下一节)。mkdir -p $HOME/.kubecp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/configkubeadm token create --print-join-command(保存输出的 kubeadm join ... 命令,用于节点加入)四 部署 CNI 网络插件
--pod-network-cidr 保持一致):
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yamlkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl get nodes、kubectl get pods -A五 加入 Worker 节点与验证
kubeadm join ... 命令,加入成功后回到 Master 节点:
kubectl get nodes(状态应为 Ready)kubectl get pods -Afirewall-cmd --permanent --add-port=6443/tcpfirewall-cmd --permanent --add-port=2379-2380/tcpfirewall-cmd --permanent --add-port=10250/tcpfirewall-cmd --permanent --add-port=10251/tcpfirewall-cmd --permanent --add-port=10252/tcpfirewall-cmd --reload六 常见问题与优化建议
registry.aliyuncs.com/google_containers),或提前 docker pull 所需镜像。swapoff -a 并注释 /etc/fstab 中的 swap 行。--kubernetes-version 指定稳定版本。