I need just one option to paraphrase your sentence naturally in Chinese: 总结了IaC相关的工具

Background

在广义上,基础设施即代码(IaC)有很多不同的形式。

Ansible/Terraform/Cloudformation/Helm/Kubernetesなど、
横並びにするにはレベル感もごちゃごちゃだし、どういう使い分けするの?

というふとした疑問からIaC関連ツールの全体像と関係性まとめてみた。

试着将其分成三个层次。

容器的繁荣扩大了基础设施即代码的定义,并且从Jenkins 2.0开始引入了Jenkinsfile,使得CI/CD也成为了基础设施即代码的一部分。

    1. 基础设施即服务(IaaS)层(狭义的基础设施即代码)

 

    1. 容器层

 

    持续集成/持续交付(CI/CD)层

第一个层级:基础设施即服务层(狭义的基础设施即代码)

历史和概要

ChefとPuppetの2つを覚えておけばOK。と思っていたら、時代が随分と進んできて、Ansibleではエージェントレスになったり、随分と便利になったなと。

《木偶》(2005年)- 《主厨》(2009年)- 《自动化运维工具》(2012年)- 《庭园》(2014年)

1. 例子1:Ansible的代表性。

无代理的基础设施即代码工具

用漫画讲解红帽子Ansible自动化。

代表例2:Terraform

以10分钟内理解Terraform

这是一个被归类为基础设施定义工具的工具,它可以在云上将资源生成和操作为定义文件状态。

由于对基础设施即代码疲倦不堪,我们整理了我们原本想要做的事情。

Terraform 注册表

可以重用某人制作的模块。

一个典型的例子是用于AWS或OpenStack的工具。

个别工具专用的IaC也越来越流行。

    • CloudFormation:AWSの構築自動化

 

    OpensStack Heat: OpenStackの構築自動化

第二层:容器层

这个层次可以再细分为3层。重要的是,管弦乐的管弦乐将进一步出现。

2-1 容器/虚拟化

    • Docker

 

    VMWare

2-2 コンテナオーケストレーション(仮想含む)

    • Docker Compose

 

    • Kubernetes(EKS/IKS/GKE)

 

    • ECS

 

    Vagrant

2-3 コンテナオーケストレーションのオーケストレーション

    Helm

Helm

Kubernetes是一种集中管理应用程序的机制,类似于yum或apt等软件包管理工具。

使用Helm来简化Kubernetes的运用。

KubernetesでつらいYAML地獄を脱却するYAML生成ツール

第三层:CI/CD层

只要记住Jenkins就可以了的时代已经结束了。首先要有使用YAML编写构建流程的概念。

Kubernetes系列

基于Kubernetes的持续集成/持续交付(CI/CD)框架

范例1:泰克顿

 

「Tekton」は、KubernetesネイティブなCI/CDツールです。KubernetesのCRD(Custom Resource Definitions)やControllerとして動作し、Kuberentes環境にデプロイするアプリケーションとの相性が良いのが特徴です。元々サーバレスツールである「Knative」のbuild-pipelineとして開発されていましたが、その後Cloud Delivery Foundation(CDF)のツールの一つとなっています。

代表例2:ArgoCD

 

「Kubernetes Native」なGitOpsベースのCDツール

Kubernetesに気軽にインストールして使える
Gitリポジトリをサポート
WebのUIとコマンドライン(CLI)を提供
YAMLでデプロイを記述でき、Gitリポジトリで管理できる
KustomizeやHelmと連携可能
変更検出によるデプロイではなく差分検出によるデプロイ

例子3:JenkinsX 的代表

 

不用Kubernetes?

旋涡筛

多云CD工具

    • 「継続的デリバリ」(CD)を実現できるコンテナクラスタ管理ツール「Spinnaker」

 

    Immutable Infrastructureを強制する

建立管道

步骤函数

其他

    • SCCM

クライアント系ツールの配布

まとめ(ここまで書いておきながら逆のことを言う、、、)

说实话,这是我的感觉,就算将这类工具层次化了,功能还是会渗透到相互的层次之间。
分层只是源头和擅长的层次的区分而已。

所以,要选择适合自己的工具,可能需要参考具体的个别事例。另外,选择自己想要尝试的工具并全心投入是不错的选择。即使工具不太好用,只要对工具有爱,努力和毅力也能克服一切(应该)。

广告
将在 10 秒后关闭
bannerAds