当前位置:首页 > Centos > 正文

Centos 集群容器编排实战指南(从零开始搭建高可用容器集群)

在当今云原生时代,容器编排已成为部署和管理应用的核心技术。对于使用 Centos 作为操作系统的用户来说,掌握如何在 Centos 集群上实现高效的容器编排至关重要。本教程将手把手教你从零开始搭建一个基于 Centos 的容器集群,并介绍两种主流的编排工具:Docker Swarm 和 Kubernetes。

Centos 集群容器编排实战指南(从零开始搭建高可用容器集群) Centos集群 容器编排 Docker Swarm Kubernetes教程 第1张

一、准备工作:搭建 Centos 集群环境

首先,你需要准备至少两台安装了 Centos 7 或 Centos Stream 8/9 的服务器(物理机或虚拟机均可)。假设我们有以下三台机器:

  • manager-node(主节点):192.168.1.10
  • worker-node1(工作节点):192.168.1.11
  • worker-node2(工作节点):192.168.1.12

在所有节点上执行以下基础配置:

# 关闭防火墙(生产环境建议配置规则而非关闭)sudo systemctl stop firewalldsudo systemctl disable firewalld# 禁用 SELinux(或设为 permissive 模式)sudo setenforce 0sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config# 安装必要工具sudo yum update -ysudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加 Docker 官方仓库sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装 Dockersudo yum install -y docker-ce docker-ce-cli containerd.io# 启动并设置开机自启sudo systemctl start dockersudo systemctl enable docker

二、方案一:使用 Docker Swarm 实现轻量级容器编排

Docker Swarm 是 Docker 原生的编排工具,简单易用,适合中小型项目。以下是搭建步骤:

1. 初始化 Swarm 集群(在 manager-node 上执行)

docker swarm init --advertise-addr 192.168.1.10

执行后会输出一条类似如下的命令,请复制它:

docker swarm join --token SWMTKN-1-xxxxxx 192.168.1.10:2377

2. 在 worker 节点加入集群

在 worker-node1 和 worker-node2 上分别运行上面复制的命令:

docker swarm join --token SWMTKN-1-xxxxxx 192.168.1.10:2377

3. 部署一个测试服务

docker service create \  --name my-web \  --publish published=80,target=80 \  --replicas 3 \  nginx:latest

现在你可以在任意节点访问 http://IP 查看 Nginx 欢迎页,Swarm 会自动调度副本到不同节点。

三、方案二:使用 Kubernetes 构建企业级容器编排平台

如果你需要更强大的功能(如自动扩缩容、滚动更新、服务发现等),推荐使用 Kubernetes。在 Centos 上部署 Kubernetes 通常使用 kubeadm 工具。

1. 所有节点安装 kubeadm、kubelet 和 kubectl

# 添加 Kubernetes 仓库cat <

2. 在 manager-node 初始化控制平面

sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.1.10

初始化完成后,按提示配置 kubectl:

mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config

3. 安装网络插件(以 Flannel 为例)

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

4. 在 worker 节点加入集群

回到初始化输出中找到类似以下的命令,在 worker 节点执行:

kubeadm join 192.168.1.10:6443 --token xxxxxx \    --discovery-token-ca-cert-hash sha256:xxxxxxxx

5. 验证集群状态

kubectl get nodes

你应该看到所有节点状态为 Ready。

四、总结与选择建议

通过本教程,你已经掌握了在 Centos 集群 上搭建两种主流 容器编排 系统的方法:

  • Docker Swarm:配置简单,学习曲线平缓,适合快速部署和小团队使用。
  • Kubernetes:功能强大,生态完善,是企业级应用的首选,但复杂度较高。

无论你选择哪种方案,都已迈出了构建现代化云原生基础设施的关键一步。后续可深入学习 Helm、Ingress、持久化存储等高级主题。

注意:本文所有操作均在测试环境中验证,请勿直接用于生产环境,务必根据实际需求调整安全策略。

希望这篇 Kubernetes教程 能帮助你在 Centos集群 上顺利实现容器编排!