首页主机资讯Ubuntu Docker集群怎么搭建

Ubuntu Docker集群怎么搭建

时间2025-12-18 22:20:03发布访客分类主机资讯浏览859
导读:Ubuntu Docker 集群搭建指南 一、方案选型与准备 方案对比 Docker Swarm:Docker 原生编排,命令与 Docker CLI 一致,适合快速上线与中小规模集群。 Kubernetes:生态完备、可扩展性强,适合...

Ubuntu Docker 集群搭建指南

一、方案选型与准备

  • 方案对比
    • Docker Swarm:Docker 原生编排,命令与 Docker CLI 一致,适合快速上线与中小规模集群。
    • Kubernetes:生态完备、可扩展性强,适合复杂有状态应用与大规模生产环境。
  • 节点规划
    • 建议至少 3 台 Ubuntu 服务器(可 1 管理节点 + 2 工作节点,或 3 管理节点实现管理高可用)。
    • 各节点间网络互通,开放端口:2377/TCP(集群管理)7946/TCP 与 UDP(节点通信)4789/UDP(覆盖网络 VXLAN)
  • 基础环境
    • 每台机器安装 Docker Engine 19.03+,设置唯一 hostname,并配置 /etc/hosts 或 DNS 解析。
    • 时间同步(如 chrony/ntp),关闭不必要的防火墙规则(仅放通上述端口)。

二、快速搭建 Docker Swarm 集群

  • 步骤 1 初始化管理节点
    • 在管理节点执行(将 < MANAGER_IP> 替换为管理节点内网 IP):
      • docker swarm init --advertise-addr < MANAGER_IP>
    • 初始化成功后,控制台会输出加入命令,包含 workermanager 的 token。
  • 步骤 2 加入工作节点与管理节点
    • 工作节点加入:
      • docker swarm join --token < WORKER_TOKEN> < MANAGER_IP> :2377
    • 添加更多管理节点(实现管理高可用):
      • 在管理节点获取命令:docker swarm join-token manager
      • 在目标管理节点执行输出的 join 命令。
  • 步骤 3 验证集群状态
    • 查看节点:docker node ls(应看到各节点状态为 Ready,管理节点有 Leader/Reachable 标识)
    • 查看 Swarm 信息:docker info | grep -i swarm
  • 步骤 4 部署示例服务(Nginx)
    • 创建覆盖网络:docker network create --driver overlay --attachable my-overlay
    • 部署服务:
      • docker service create --name nginx --replicas 3 --publish published=8080,target=80 --network my-overlay nginx:latest
    • 验证:
      • docker service ls、docker service ps nginx
      • 浏览器访问任一节点 IP 的 8080 端口,应看到 Nginx 欢迎页(Swarm 内置路由网格对外暴露端口)。

三、高可用与服务运维要点

  • 服务高可用
    • 自动重启:docker service update --restart-condition any --restart-delay 5s --restart-max-attempts 3
    • 滚动更新:docker service update --update-parallelism 2 --update-delay 10s --image nginx:1.25
    • 健康检查:docker service update --health-cmd “curl -f http://localhost || exit 1” --health-interval 5s --health-retries 3 --health-timeout 2s
  • 节点维护
    • 排空节点(维护前):docker node update --availability drain
    • 恢复节点:docker node update --availability active
  • 配置与备份
    • 定期备份 Swarm 的 Raft 数据(在管理节点执行),确保管理节点故障时可恢复集群元数据。

四、安全加固与网络注意

  • 加固建议
    • 启用 TLS 加密管理通道,限制管理端口 2377 的访问来源,仅允许内网或跳板机访问。
    • 定期轮换证书,最小化节点间与对外暴露面。
  • 网络要点
    • 确保 7946/TCP/UDP4789/UDP 未被防火墙拦截,否则节点发现与覆盖网络将异常。
    • 对外暴露建议使用 Swarm 的路由网格(如 8080:80),由集群自动负载到后端任务。

五、进阶 Kubernetes 方案简述

  • 若需更强的生态与调度能力,可在 Ubuntu 上用 kubeadm 部署 Kubernetes(示例):
    • 初始化主节点:sudo kubeadm init --apiserver-advertise-address=< MASTER_IP>
    • 加入工作节点:sudo kubeadm join < MASTER_IP> : --token --discovery-token-ca-cert-hash sha256:
    • 部署应用可用 Deployment/Service 资源对象进行扩缩与暴露。
  • 高可用与组件
    • 多 Master 场景常配合 HAProxy + Keepalived 提供 VIP,结合 kubelet/kubeadm 完成控制面高可用与证书管理。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Docker集群怎么搭建
本文地址: https://pptw.com/jishu/775568.html
Ubuntu Docker命令有哪些 Ubuntu Docker卸载步骤是什么

游客 回复需填写必要信息