可以的,在 CentOS 上部署 Kubernetes(k8s)完全可以用脚本,而且实际生产中非常常见。下面给你几个层次的可行方案和示例,方便你选择。
✅ 可以,而且推荐用脚本
kubeadm init/join 部署集群| 方式 | 是否脚本化 | 适合场景 |
|---|---|---|
| 手动命令 | ❌ | 学习 |
| Shell 脚本 | ✅ | 小集群 / 测试 |
| Ansible | ✅✅ | 生产推荐 |
| kubeadm + 脚本 | ✅ | 最常用 |
| RKE / kubespray | ✅✅ | 多节点生产 |
#!/bin/bash
# init-node.sh
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
swapoff -a
sed -i '/swap/d' /etc/fstab
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
#!/bin/bash
# install-containerd.sh
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y containerd.io
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
systemctl restart containerd
systemctl enable containerd
#!/bin/bash
# install-k8s.sh
cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[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
EOF
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
kubeadm init \
--pod-network-cidr=10.244.0.0/16 \
--image-repository=registry.aliyuncs.com/google_containers
kubeadm join <master-ip>:6443 \
--token xxxx \
--discovery-token-ca-cert-hash sha256:xxxx
rke up
如果你愿意,可以告诉我:
我可以直接给你一套可运行的完整脚本。