在 CentOS 上使用 Docker 集群,通常有两种主流方案:
# 关闭防火墙(或放行端口)
systemctl stop firewalld
systemctl disable firewalld
# 安装 Docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable --now docker
docker swarm init --advertise-addr <manager_ip>
输出中会有:
docker swarm join --token xxx <manager_ip>:2377
在 worker 节点执行:
docker swarm join --token <token> <manager_ip>:2377
docker node ls
docker service create --replicas 3 -p 80:80 --name web nginx
✅ 适合:快速搭建、中小规模集群
# 关闭 swap
swapoff -a
sed -i '/swap/d' /etc/fstab
# 安装 docker
# (同上)
# 安装 kubeadm
cat <<EOF > /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
EOF
yum install -y kubelet kubeadm kubectl
systemctl enable --now kubelet
kubeadm init --apiserver-advertise-address=<master_ip>
kubeadm join <master_ip>:6443 --token xxx --discovery-token-ca-cert-hash xxx
mkdir -p $HOME/.kube
cp /etc/kubernetes/admin.conf $HOME/.kube/config
✅ 适合:生产环境、大规模集群
# Master
curl -sfL https://get.k3s.io | sh -
# Worker
curl -sfL https://get.k3s.io | K3S_URL=https://<master_ip>:6443 K3S_TOKEN=xxx sh -
| 方案 | 难度 | 适用场景 |
|---|---|---|
| Docker Swarm | ⭐ | 快速、简单集群 |
| Kubernetes | ⭐⭐⭐ | 生产、复杂业务 |
| k3s | ⭐⭐ | 轻量 K8s |
如果你愿意,我可以:
你现在是 学习 / 测试 / 生产?几台机器?