• 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 基本上是一个机器人,是一个虚拟助手,可以帮助项目经理和开发团队通过一系列问题来保持同步。

  • 相关阅读:
    单例模式设计
    MogDB 3.0.0 新特性——发布订阅
    第五章 数据库完整性
    Centos7 配置 DNS服务器
    【六天案例教程】全流程TOUGH系列软件实践技术应用
    Linux安装docker
    L80.linux命令每日一练 -- 第11章 Linux系统管理命令 -- ntsysv和setup
    jvm中对象创建、内存布局以及访问定位
    【图解HTTP】HTTP首部
    奇思妙想构造题 ARC145 D - Non Arithmetic Progression Set
  • 原文地址:https://blog.csdn.net/u013916029/article/details/127636415