温馨提示×

centos docker怎样集群

小樊
35
2026-10-23 08:46:11
栏目: 智能运维

在 CentOS 上使用 Docker 做集群,常见方案有 Docker Swarm 和 Kubernetes。下面给你最常用、最实用的两种做法,并附操作步骤。


一、Docker Swarm(官方原生,最简单)

适合:中小规模、快速搭建、学习使用

1. 环境准备(所有节点)

# 关闭防火墙(或放行端口)
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

2. 初始化 Swarm(Manager 节点)

docker swarm init --advertise-addr <manager_ip>

输出类似:

docker swarm join --token SWMTKN-... <manager_ip>:2377

3. 添加 Worker 节点

在 worker 节点 执行:

docker swarm join --token <token> <manager_ip>:2377

4. 查看集群状态

docker node ls

5. 部署服务(示例)

docker service create --replicas 3 --name web -p 80:80 nginx

6. 常用命令

docker service ls
docker service scale web=5
docker stack deploy -c docker-compose.yml myapp

✅ 优点:原生、简单
❌ 缺点:功能不如 K8s 强


二、Kubernetes(生产级,最主流)

适合:生产环境、复杂应用

方案选择

  • kubeadm(官方推荐)
  • 或用 Rancher / K3s(更省资源)

使用 kubeadm 示例(简化版)

1. 所有节点

# 关闭 swap
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab

# 安装 Docker
yum install -y docker
systemctl enable --now 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

2. Master 初始化

kubeadm init --pod-network-cidr=10.244.0.0/16

3. 配置 kubectl

mkdir -p $HOME/.kube
cp /etc/kubernetes/admin.conf $HOME/.kube/config

4. 安装网络插件(Flannel)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

5. Worker 加入

kubeadm join <master_ip>:6443 --token xxx --discovery-token-ca-cert-hash sha256:xxx

三、方案对比

方案 难度 适用场景
Docker Swarm ⭐ 快速集群、测试
Kubernetes ⭐⭐⭐ 生产、微服务
K3s ⭐⭐ 边缘、低资源

四、我可以进一步帮你

你可以告诉我:

  • 是 学习用 还是 生产用
  • 几台 CentOS(几核几 G)
  • 是否已有 Docker

我可以直接给你 一步到位的可执行脚本。

0 踩