01| GitOps与DevOps 主流系统

GitOps 将 Git 作为应用程序开发和云基础设施的唯一事实源;采用声明式语句来简化配置和部署。由于 Git可用于基础设施即代码(IaC)和应用程序开发。

1 GitOps好处

GitOps 提供了一些优势,该方法充分利用了云原生应用程序和可伸缩云基础设施的优势。
GitOps 将持续交付与云原生优势和 IaC 结合起来,提供了这两个领域的最佳服务。GitOps 最佳实践还标准化了端到端的管道,而无需进行大的更改。

2 GitOps工具

有无数工具可以帮助你将 GitOps 方法与现有工作流进行集成。

2.1 Kubernetes

Kubernetes 是 GitOps 的核心。Kubernetes 现在提供了许多自动化工具,可以简化云基础设施的部署和扩展。

2.2 Git

作为一个开源的版本控制平台,Git 非常强大。

2.2.1参考地址

https://git-scm.com/

在这里插入图片描述

2.3 Helm

helm是kubernetes中查找、分享、构建应用的最佳方式。

2.3.1参考地址

https://helm.sh/
在这里插入图片描述

2.4 Flagger

flagger是一个k8s operator,可以基于多种ingress 实现金丝雀升级,以进行流量转移,并使用Prometheus指标进行流量分析。canary分析器可以通过webhooks进行扩展,以运行系统集成/验收测试,负载测试或任何其他自定义验证。

在这里插入图片描述

2.5 Prometheus

Prometheus 可以充当 GitOps 的监控工具。如果变更没有通过 Flagger 设置的测试,它将触发报警。

2.5.1参考地址

https://prometheus.io/docs/introduction/overview/

在这里插入图片描述

2.6 Flux

Flux 或 FluxCD 只是 Kubernetes 的 GitOps 操作符。它会使用 Git 库中的配置自动调整 Kubernetes 的集群配置。

2.6.1参考地址

https://justgetflux.com/

在这里插入图片描述

2.7 Quay

对于镜像管理,可以使用 Quay。可以使用该工具对容器镜像进行细致的管理,而所有这些都不会牺牲安全性和可靠性。

2.7.1参考地址

https://quay.io/

在这里插入图片描述

2.8 Auto-Assign

为了使你的 Git 拉取请求和更新井井有条,可以使用一些工具。Auto-Assign 就是其中之一。

在这里插入图片描述

2.9 CodeFactor

为了持续维护代码的质量,CodeFactor 是另一个可以集成到 GitOps 管道中的工具。它是一个自动的代码审查工具,当发现新的 Git 提交时,它会根据预定义的标准自动检查代码。

2.9.1参考地址

https://support.codefactor.io/

在这里插入图片描述

2.10 DEP

DEP是专门为管理 Go 应用程序和服务的依赖关系而创建的,并且它不会减慢 GitOps 管道的速度。

2.10.1参考地址

https://depusa.com/

在这里插入图片描述

2.11 Kodiakhq

另一个用于管理代码的 Git 应用程序是 Kodiakhq。但该工具主要专注于自动更新和管理拉取请求,同时减少 CI 的负载。随着 Kodiakhq 的启动和运行,不再需要手动合并请求,这可以节省时间和宝贵的资源来执行其他任务。

2.11.1参考地址

https://github.com/loadsmart/kodiak在这里插入图片描述

2.12 Atlantis

Atlantis 自动执行对 Terraform 的拉取请求,并在发现新请求时触发进一步的操作。

2.13 Helm Operator

Helm Operator 还通过将自动化引入到 Helm Charts 发布中,进一步将 Helm 推向了新的高度。它被设计为在 GitOps 管道中从头开始工作,因此集成 Helm Operator 非常简单。

2.13.1参考地址

https://github.com/topics/helm-operator

在这里插入图片描述

2.14 Gitkube

Gitkube 更加专注于使用 Git push 构建和部署 Docker 镜像。
在这里插入图片描述

2.15 Jenkins X

当谈论 GitOps 工具时,我们真的不能不谈 Jenkins X。Jenkins 最初是作为 Kubernetes 的 CI/CD 平台的,但是该平台可以用来无缝地管理你的 GitOps 管道。它甚至具有一个内置的预览环境来最大程度地减少代码和部署错误。

2.15.1参考地址

https://jenkins-x.io/
在这里插入图片描述

2.16 Restyled

为了实现更好的标准化,Restyled 会强制执行某种编码样式。

2.16.1参考地址

https://restyled.io/
在这里插入图片描述

2.17 Argo CD

Argo CD 采用了一种更直观的方式来处理 GitOps。它可视化了应用程序和环境的配置,并使用图表和可视化的提示来模拟 GitOps 管道。你也可以将 Argo CD 与 Helm 和其他 GitOps 工具结合使用。

2.17.1参考地址

https://argoproj.github.io/

在这里插入图片描述

2.18 Kapp

Kapp 是 Kubernetes 应用程序的衍生名称,专注于管道的部署方面。

2.19 Kpt

Kpt 或“kept”是用于简化 Kubernetes 资源部署和配置的另一种工具。它使用声明来处理资源配置,从而使开发人员可以更好地控制他们的基础设施。使用 Kpt 完全不需要手动配置。

2.20 Stale

Stale 能处理一些令许多开发人员都很恼火的事情:悬而未决或被放弃的问题以及拉取请求。使用 Stale,你可以配置何时将拉取请求和问题视为放弃,然后自动管理这些请求和问题。

2.21 Kube Backup

Kube Backup 是维护 Kubernetes 集群配置的重要工具。它将集群备份到 Git,特别是集群的资源状态。如果环境发生灾难性故障,可以使用 Kube Backup 来更快地启动和运行应用程序。

2.22 Untrak

Untrak 是一个用于管理 Kubernetes 集群资源的便捷工具。该工具会自动在集群中查找未跟踪的资源。它还可以处理垃圾回收,并能帮助你保持 Kubernetes 集群的精益。

2.23 Fluxcloud

Fluxcloud 整合了 Slack 与 GitOps。如果你使用 Flux(FluxCD),那么也一定会喜欢 Fluxcloud。它消除了对 Weave Cloud 的需求,并允许为每个 FluxCD 活动生成 Slack 通知。

2.24 Stickler CI

代码风格的指南和标准!Sticker CI 在不影响管道本身的情况下简化了编码风格的实现。只要在工作流程中实现 Stickler CI,就可以快速且一致地进行代码检查和标准化。

2.24.1参考地址

https://stickler-ci.com/在这里插入图片描述

2.25 Task List Completed

Task List Completed 将停止合并具有未完成任务的拉取请求。

2.26 Slack

Slack 支持关闭和打开拉取请求和问题等的任务,以及直接从 Slack 应用程序中与之交互的任务。

2.26.1参考地址

https://github.com/slackhq
在这里插入图片描述

2.27 CI Reporter

CI Reporter 能派上用场的地方。该工具会收集构建失败的错误报告,然后再将其添加到相关的拉取请求中。

2.28 PR Label Enforce

PR Label Enforce,在合并拉取请求之前,该工具会强制执行某些标签。可以将“ready”或“ checked”之类的标签设置为参数,然后使用其他工具来自动分配这些标签。

2.29 Git-Secret

在 Git 中存储私有数据,可以使用 Git-Secret。当你需要存储敏感的配置文件或密钥时,这非常方便。

2.30 Kamus

Kamus 能自动将零信任加密和解密合并到你的 GitOps 工作流中。

2.31 Sealed Secrets

Sealed Secrets 通过单向加密过程来对密钥进行加密,Sealed Secrets 为 GitOps 管道提供了最大的安全性。

2.32 Pull Panda

Pull Panda 可以帮忙你实现这一目标,它可以使协作工作变得更轻松、更高效。它向 Slack 发送拉取提醒和分析,甚至可以自动执行拉取请求的分配。

2.33 Sleeek

Sleek 基本上是一个机器人,是一个虚拟助手,可以帮助项目经理和开发团队通过一系列问题来保持同步。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值