ubuntu分布式运维核心是构建稳定性、可观测性、可恢复性协同机制,而非工具堆砌;需明确真实需求(如应用扩展、数据库高可用、共享存储、统一监控),统一对齐基础环境(时间、主机名、ssh、防火墙),用docker compose声明式编排服务,前置部署日志(loki+promtail)、指标(prometheus+grafana)、apm(signoz/jaeger)及告警收敛体系。

明确分布式目标,避免伪分布
先判断是否真需要分布式:单节点能扛住流量和数据量,就别强行拆。常见真实需求包括:
- 应用层水平扩展(如多个 Odoo/Tomcat 实例分担请求)
- 数据库读写分离或高可用(PostgreSQL 主从 + 自动故障转移)
- 共享状态存储(NFS/GlusterFS 供所有节点访问上传文件或缓存)
- 统一监控告警(所有节点指标汇聚到 SigNoz 或 Prometheus)
基础环境必须统一对齐
5 台服务器如果 JDK 版本、时区、DNS 解析、SSH 认证方式都不一致,后续任何编排都会失败。务必在第一步完成:
-
时间同步:所有节点执行
sudo timedatectl set-timezone Asia/Shanghai && sudo systemctl enable --now systemd-timesyncd -
主机名与内网互通:在
/etc/hosts中静态映射所有节点 IP 和 hostname,禁用依赖 DNS 的服务发现 -
SSH 免密互通:生成密钥对,用
ssh-copy-id推送到所有节点,为 Ansible 或脚本批量操作铺路 -
防火墙最小化放行:只开必要端口(22、80/443、数据库复制端口、监控端口),禁用
ufw disable这类粗暴操作
用容器编排替代手工部署
Docker Compose 是中小型分布式最实用的起点。它把服务定义、网络隔离、启动顺序、健康检查全部声明化:
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 每个服务(如 backend、db、redis、nginx)写成独立
service块 - 用
networks定义内部通信网络,避免暴露端口到宿主机 - 加
healthcheck配置,让 Nginx 或负载均衡器自动剔除不健康的实例 - 配置
volumes挂载到统一存储路径(如/data/redis),再由 NFS 统一供给
不推荐直接在每台服务器上手动起 Docker 容器——那只是多台单机,不是分布式运维。
监控和日志必须前置设计
分布式系统出问题,第一反应不该是“连不上哪台”,而应是“哪个指标异常了”。所以部署代码前就要搭好:
- 统一日志收集:Filebeat → Kafka → Logstash → Elasticsearch,或直接用 Loki+Promtail
- 全链路指标采集:Node Exporter(主机) + cAdvisor(容器) + 应用埋点(Micrometer)→ Prometheus → Grafana
- APM 跟踪:SigNoz 或 Jaeger,用于定位跨服务调用延迟瓶颈
- 告警收敛:Alertmanager 配置静默、分组、抑制规则,避免半夜被重复告警刷屏
没有监控的分布式,等于闭眼开车。










