Google Developer Experts profile image Mario Ezquerro

Gubernator 周报:CoreDNS Aqueducts、SRE 技术栈、网络拓扑与集群自动更新!
Gubernator 周报横幅
Review
Gubernator 周报横幅

对 Gubernator (gbnt) 来说,这是多么紧张的一周!如果你是新来的,Gubernator 是一个「Goldilocks」容器编排器,它弥合了 Docker Swarm 的简单性(原生 Compose 支持、简单的节点加入)和 Nomad 的调度灵活性(硬件针对性、标签、基于任务的管理)之间的差距。

在过去的 7 天里,Gubernator 从一个单节点引擎演进成了一个生产就绪的集群生态系统。以下是本周发布的所有内容的详细分解!

1. Ingress & 服务发现("The Aqueducts")
本周我们最大的里程碑之一是发布了自动化的内部 DNS 解析和边缘入口路由:

  • CoreDNS 集成:现在每个运行 Gubernator 的节点都可以部署 CoreDNS。跨所有主机的容器可以使用动态域名(.gbnt.test)解析内部服务 IP。随着容器的启动或停止,Gubernator 的管理器会实时更新 CoreDNS 记录。
  • Caddy Ingress:暴露 Web 服务现在变得毫不费力。使用路由标签部署的服务会由 Caddy 自动代理,动态管理 SSL 和 HTTP/HTTPS 入口。

2. SRE 可观测性套件(gbnt monitor init)
可观测性不应该需要编写 500 行 YAML。使用单个命令 gbnt monitor init,Gubernator 会部署一个完整的、生产级别的可观测性技术栈:

  • Prometheus & cAdvisor:详细的容器和主机级指标收集(CPU、RAM、网络 I/O)。
  • Loki & Promtail:跨所有容器的集中式日志聚合。
  • Grafana:开箱即用的预配置仪表板,用于即时可视化。
  • Jaeger Tracing:完整的 OpenTelemetry 分布式追踪支持(OTLP gRPC :4317 & HTTP :4318)。

  1. 交互式网络拓扑(Weave Scope 集成) 了解容器如何在分布式集群中相互通信可能很困难。我们将 Weave Scope 直接集成到 Flutter Web 仪表板中!
  • 实时进程 & Socket 监视器:挂载 /proc 和 /sys 以实时跟踪容器之间的活动套接字连接。
  • 动态 CoreDNS 监视器:容器关系会根据 DNS 请求和活动网络流量自动链接和映射。

4. 零停机集群自动更新
保持集群更新不应该需要手动 SSH 脚本。我们引入了 Gubernator 集群自动更新:

  • GitHub Releases 集成:管理器会轮询 GitHub Releases API(带 15 分钟智能缓存)。
  • 头部通知:当检测到新标签时,左上角侧边栏头部会突出显示可用的更新:[ MANAGER v2.7.2 ] → [ MANAGER v2.7.4 ]
  • 集群范围滚动更新:点击徽章会打开一个包含完整发布说明的确认对话框。确认后会触发自动镜像拉取(marioezquerro/gubernator:)并在管理器和所有已注册的工作节点上进行协调的滚动重启!

5. UI/UX 改进(Flutter Web 仪表板)
我们还对 Web UI 进行了打磨,以实现最大的开发人员人体工程学:

  • 可点击的端口芯片:映射的容器端口(例如 8080:80)现在被渲染为交互式芯片。单击即可直接在浏览器中打开 http://: 。
  • 批量容器操作:Tasks 表上的复选框允许批量执行启动、停止、重启或删除操作。
  • 动态分割比例:Legions(Stacks)和 Centurions(Nodes)面板现在具有默认的 1/3 对 2/3 布局,并支持拖动调整大小。

立即尝试 Gubernator!
Gubernator 是开源的,专为希望将 Swarm 的简单性与现代 SRE 可观测性相结合的开发者而构建。

GitHub 仓库:mario-ezquerro/gubernator
Docker Hub:marioezquerro/gubernator

如果你喜欢 Gubernator 的发展方向,请在 GitHub 上点个 ⭐!你希望看到哪些功能?请在评论中告诉我!