在 CentOS 上“快速部署 Kubernetes”,最常用、最省事的方式是 kubeadm + 脚本化初始化。下面给你一套能直接照做的快速方案(以 CentOS 7/8 为例,单 master 实验/测试环境)。
# 关闭 swap
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
# 关闭防火墙(测试环境)
systemctl stop firewalld
systemctl disable firewalld
# 关闭 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加 Docker 源
yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
yum install -y docker-ce docker-ce-cli containerd.io
# 启动 Docker
systemctl enable docker
systemctl start docker
# 添加 Kubernetes 源
cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
EOF
# 安装
yum install -y kubelet kubeadm kubectl
# 启动 kubelet
systemctl enable kubelet
systemctl start kubelet
kubeadm init \
--pod-network-cidr=10.244.0.0/16 \
--image-repository=registry.aliyuncs.com/google_containers
初始化成功后,会看到类似:
kubeadm join 192.168.x.x:6443 --token xxx \
--discovery-token-ca-cert-hash sha256:xxx
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f \
https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
等待所有 Pod 变成 Running:
kubectl get pods -n kube-system
在 Worker 节点执行 Master 初始化输出的命令:
kubeadm join 192.168.x.x:6443 --token xxx \
--discovery-token-ca-cert-hash sha256:xxx
kubectl get nodes
状态为 Ready 即部署成功 ✅
| 场景 | 推荐 |
|---|---|
| 本地测试 | Minikube |
| 一键部署 | kubeadm + 脚本 |
| 生产环境 | kubespray / Rancher / KubeKey |
| 离线环境 | KubeKey(推荐) |
./kk create cluster --with-kubernetes v1.28.0
如果你愿意,我可以:
你现在是 测试 / 生产 / 学习 用?