[初学者]建立Ansible学习环境1/3(什么是Ansible)
首先
由于开始学习Ansible已经过了大约一个月,所以我写了一篇针对那些没有使用过Ansible的人的文章,用作我迄今为止的学习内容的回顾和产出。
通过阅读这篇文章(共有3篇),我的目标是能够在AWS或Azure环境中安装Ansible并实际执行Playbook。
在这篇第一篇文章中,我总结了有关Ansible的概述。
第1章 Ansible概述 (当前页面)
构建学习环境-第二阶段
第三章 实践ansible
正在创建中
目录
关于IaC
什么是Ansible
在构建学习环境时
(顺便说一句)与Terraform的区别
关于IaC
使用代码进行构建服务器等基础设施的方法称为IaC(基础设施即代码)。
Ansible是实现IaC的工具之一。
本文节省了对IaC概述的详细讨论,但通过IaC可以获得以下优点:
– 提高工作效率和减少工作量
– 减少人为错误
– 提高可重用性等等
本文省略了对IaC的详细解释,但在实现IaC时,应理解IaC的必要性、优点和缺点。
以下提供了一些参考链接。
Ansible是一种工具。
Ansible®是一个开源的IT自动化工具,用于自动化配置管理、应用程序部署、编排和其他许多IT流程。与其他简单的管理工具不同,Ansible的用户(系统管理员、开发人员、架构师等)可以利用Ansible自动化进行软件安装、日常任务自动化、基础设施配置、提升安全性和合规性、系统打补丁、以及在整个组织中共享自动化。
Ansible的特点
以下是Ansible的特点,可以列举以下三个方面:
1. 无需代理
2. 简单易读
3. 可幂等
- 1. 无需代理 由于Ansible不需要为受控主机安装代理,因此即使存在大量受控主机,也可以减少设置工作量并降低实施成本。
- 2. 简单易读
- Ansible使用YAML格式来编写代码。因此,它具有较高的可读性,与其他配置管理工具(如Puppet和Chef)相比,学习成本较低。
- 3. 冪等性指的是無論執行多少次處理,都能得到相同結果的特性。Ansible在執行處理之前會判斷是否需要變更,如果不需要變更則跳過處理。這樣可以避免處理的重複。
在建立学习环境时
下次文章中將進行環境配置,但請事先準備以下2點:
– AWS或Azure帳戶(只需其中一個即可)
– teraterm(用於連接服務器的SSH)
(废话)与Terraform的区别
有名的IaC工具之一是Terraform。虽然Terraform和Ansible都属于同一类IaC工具,但它们有显著的区别。因此,同时使用Ansible和Terraform也是可行的。
在Ansible和Terraform之间,最明显的区别是它们擅长的领域不同。
具体而言,Terraform擅长配置VPC、EC2(虚拟机)等基础设施资源。
而Ansible则擅长管理EC2(虚拟机)内的操作系统和中间件的建设。
※ 命令型和声明型
命令型和声明型的区别在于是描述具体步骤还是描述最终状态。
声明型通过描述最终状态,工具会自动处理相应的步骤。而命令型则需要描述具体步骤,而不是最终状态。不过,命令型可以描述复杂的条件分支等情况。
尽管仅凭单一工具就能够从基础设施的供应到操作系统和中间件的配置管理,但只有理解各个工具的优势和劣势,并根据情况选择合适的工具,才能最大限度地发挥基础设施即代码(IaC)的优势。
最后
这次介绍了Ansible的概要。
下一次我们将搭建Ansible的学习环境。
第二次的章回