GitOps实操工具-Flux简介

GitOps实操工具-Flux简介

我们相信,通过GitOps:

  • 在git中描述你的整个系统状态的声明。包括: apps, config, dashboards, monitoring 和任何其它的内容。
  • 所有描述的都可以自动化。 使用 YAMLs 实现系统的强制一致性。你不需要运行 kubectl, 所有的改变都通过git进行。使用diff tools检测观测到的和期望的状态的差别,以及得到通知。
  • 推送代码而不是容器。所有控制的内容都通过 pull requests。对于开发新手没有学习曲线,他们只需要使用标准的git PR 过程。版本化的git允许你从任何的快照恢复系统,对于pull request的运维改变是透明的过程,修复产品的问题通过 pull request 来代替对运行系统的改变。
  • 译注:
    • 能够将应用更容易地部署到不同的集群之中,以及在多种环境下的测试。
    • 数据在系统重做的过程中如何处理?恐怕会引起问题。
    • 切换过程中的事务性,需要单独进行处理,以保证ACID。

Flux是一个工具,自动保障git中的配置与集群的配置状态相匹配。 它在集群中使用 operator触发 Kubernetes中的部署,意味着你不需要独立的 CD tool. 它监视所有的相关的 image repositories,检测新的 images, 触发deployments 并且更新到期望的运行配置。

收益就是:你不需要授权CI 存取cluster, 所有的改变都是原子和事务性的。git 具有audit log,每一次事务要么失败要么成功。你可以完全以代码为中心,而无需担心基础设施的事情。

Flux是干什么的?

Flux是一个非常有用的交付工具,用于持续交付流水线的末端。Flux确保你的最新的容器镜像和配置能够应用到集群之中,并保持一致。

特征

主要特性包括:

与Weave Cloud的关系

Weave Cloud是Weaveworks提供的一个包含Flux的SaaS产品,包括:

  • 部署的UI和alerts:所有的 flux 操作可以通过点击即可。
  • 全部的可观测和集群透视:集群监视面板,实时配置图,用于跟踪和分析集群状态。

关于Weave Cloud的更多信息,参考 its homepage

开始使用 Flux

Flux使用的相关文档,如下:

开发者信息

Build documentation

Release documentation

扫描二维码关注公众号,回复: 5073354 查看本文章

贡献

Flux 采用典型的 PR workflow. 所有的贡献代码通过 PRs进行,需满足下面的指南。

指南

  • All code must abide Go Code Review Comments
  • Names should abide What's in a name
  • Code must build on both Linux and Darwin, via plain go build
  • Code should have appropriate test coverage, invoked via plain go test

除此之外,有几个检查机制会被应用,查看the lint script 获取详细信息。

获取帮助

如果有任何关于 Flux 和持续交付有关的问题,请:

欢迎你的任何反馈!

猜你喜欢

转载自blog.csdn.net/hxpjava1/article/details/86654139