配置管理的演变:IaC 与 GitOps
已发表: 2022-05-23目录
配置管理的演进
不正确的结构是 Kubernetes 编排或其他容器环境中发生安全事件的主要原因。 如果没有正确的配置,应用程序可能会遇到各种问题,从不兼容和冲突到性能故障、安全漏洞和操作失败。 配置管理是在软件开发生命周期中保持计算机所需的稳定状态的重要部分。
配置管理传统
那时,在管理 IT 资源的变化时,IT 团队的重点主要放在服务器层面,看看硬件的任何变化是否会导致剩余层出现问题。 每台服务器都是手动配置的,非常小心和闲暇时间。 虚拟机为这个过程带来了更大的灵活性和效率。
基础架构代码 (IaC) 是配置管理的一大步,其中将整个硬件定义为代码。 基于云的平台、Chef、Puppet 和 Ansible 等 IaC 工具在简化和扩展基础架构管理方面发挥了关键作用。 他们通过提高资源利用率来帮助加快基础设施配置并降低成本。
多年来,基于云的平台,尤其是容器,已经彻底改变了基础设施的配置方式。 随着主流云的采用和 Git 向当前版本控制系统的转变,GitOps 已成为架构管理演变的最新转折。 GitOps 在编码一切方面远远超出了 IaC。 这里的“一切”包括基础设施、网络、数据和应用程序。
Kubernetes 和基础设施的声明式方法
像编程一样,提供基础设施有两种方法——通知和强制。
一种引人注目的方法要求您指定要采取的适当步骤来提供或修改基础架构。 它提供了使用基础设施的体验。 它提供了使用基础设施的体验。 另一方面,通知方式更适合 Kubernetes 定义的现代云原生方式。 您只需定义系统所需的状态,并将其功能留给 Kubernetes 之类的站点。 Kubernetes 基础设施有助于自动化和通知配置。
从 DevOps 到 GitOps 的转变
GitOps 于 2017 年构思,是一个现代功能框架,用于管理 Kubernetes 集群和交付以 Git 为中心的应用程序。 它获得了 DevOps 的最佳部分,例如 CI / CD 工具、Dev 和 Ops 之间的协作、流程自动化,并在使用 Git 作为真实性来源的软件交付管道中使用它们。
DevOps 确保了开发和运营团队之间的协作,并带来了信息技术领域的文化变革。 但是,出乎意料的是,公司采用了持续集成和持续分发的特性,但并没有走向持续部署。
这就是 GitOps 将事情提升到一个新水平的地方。 使用 GitOps 方法,团队不仅可以定义而且还可以从 Git 存储库中管理其基础架构的排序和修改。 对基础设施进行更改就像现在创建拖动请求一样简单——您可以发现拼写错误、进行定期审查或在必要时更改承诺。 使用 Git,开发人员现在可以生成代码,操作系统工程师可以在生产中自动使用这些代码。
使用 Flux & Helm 进行 GitOps 驱动的配置管理
Kubernetes 允许您集成各种工具来自动化容器的规划、排序和监控。 Helm 就是这样一种工具,它在 GitOps 生态系统中变得非常流行。
Helm 是一个功能强大的 Kubernetes 包管理器,它有助于定义、安装和部署在各种情况下使用的重复性最高的应用程序和服务。 Helm Charts 通过提供有组织的包装设计来管理具有重复值和硬编码值的多个 YAML 文件,从而为连续分发环境增加了巨大的价值。
配置管理:IaC 与 GitOps
简而言之,Helm 可以帮助您在测量和管理复杂输出时保持简单。 但它必须链接到 K8s 集群和应用程序规范定义的基本 Git 存储库。 助焊剂使它变得容易。
Flux 是一组开源 GitOps 代理,它们充当 Git 存储库和 Kubernetes 集群之间的桥梁。 Helm chart 是一个通知排序自动化工具,它通过在引入代码更改时自动输出来保持代码一致性。 Flux 将这些更改从 Git 同步到 Kubernetes 集群。
它使用称为 HelmRelease 的自定义资源来执行此操作,该资源会触发 helm 操作符,并将更改同步到图表代码。 更不用说,Flux 具有广泛的漂移检测功能以及其他有趣的功能。
很长一段时间以来,架构管理都是关于硬件和基础设施的,但从那时起我们已经取得了长足的进步。 随着 GitOps 和使其变得更容易的工具的引入,开发人员和平台工程师有很多选择来设计他们想要的基础设施 - 以公告的方式。
Weave GitOps 利用 Flux 和 Helm,并以 Kubernetes 生成集群的所有方式从 jit 存储库中实现有效的配置管理工作流。 Weave GitOps 的一大特色是它能够交付可靠的应用程序。 将可靠的实用程序交付策略作为代码添加到 GitOps、安全性和合规性、应用程序回归以及从源代码到生产的编码标准的实施。 它结合了安全的 GitOps 管道和通过编码策略实现的持续安全测试,从而在整个软件开发生命周期中实现安全最佳实践和高安全标准。 GitOps 也是对现代云原生系统进行配置管理的方法,Weave GitOps 使这种方法不仅简单而且安全。
如何创建-一个-gmail-account-step-by-step-guide
网络爬虫与网络抓取有什么区别