Automation & Configuration

Automation & Configuration #

自动化和配置工具加速了计算资源(虚拟机、网络、防火墙规则、负载均衡器等)的创建和配置。该类别中的工具要么处理供应过程中的各个环节,要么尝试控制整个过程的端到端流程。大多数工具都提供与该领域其他项目和产品集成的能力。

解决的问题 #

传统上,IT 过程依赖于冗长且劳动密集的手动发布周期,通常在三到六个月之间。这些周期伴随着大量的人工流程和控制,导致生产环境的变更变得缓慢。这样的慢速发布周期和静态环境与云原生开发不兼容。为了支持快速开发周期,基础设施必须动态配置并且无需人工干预。

提供的帮助 #

这一类别的工具使工程师能够在无需人工干预的情况下构建计算环境。通过将环境设置编程化,点击按钮即可轻松复现环境。虽然手动设置容易出错,但一旦编程化,环境创建将完全匹配预期状态——这是一个巨大的优势。

尽管这些工具可能采取不同的方法,但它们的共同目标是通过自动化减少配置资源所需的工作量。

技术基础 #

随着我们从传统的人工驱动供应转向由云驱动的按需扩展模型,之前使用的模式和工具已经无法满足需求。大多数组织无法负担一个全天候的庞大员工团队来创建、配置和管理服务器。像 Terraform 这样的自动化工具大大减少了扩展数十台服务器和数百个防火墙规则的工作量。像 Puppet、Chef 和 Ansible 等工具通过编程方式在新服务器和应用启动时进行配置和/或供应,使其能够被开发人员使用。

一些工具直接与 AWS 或 vSphere 等平台提供的基础设施 API 交互,而其他工具则专注于配置单台机器,使其成为 Kubernetes 集群的一部分。像 Chef 和 Terraform 这样的工具可以协同工作,来供应和配置环境。还有一些工具,比如 OpenStack,提供基础设施即服务(IaaS)环境,供其他工具使用。基本上,您将在此领域需要一个或多个工具,用于为 Kubernetes 集群搭建计算环境,包括 CPU、内存、存储和网络。您还需要其中的一部分工具来创建和管理 Kubernetes 集群本身。

现在,这个领域已有超过 5 个 CNCF 项目,如果算上像 Cluster API 这样的项目,数量会更多。还有许多强大的开源工具和供应商提供的工具。

Keywords #

  • Infrastructure-as-Code (IaC) 基础设施即代码
  • Automation 自动化
  • Declarative Configuration 声明式配置

Projects #

© 2024 青蛙小白