ansible介绍
Ansible目前是运维自动化工具中最简单、容易上手的一款优秀软件,能够用来管理各种资源。用户可以使用Ansible自动部署应用程序,以此实现IT基础架构的全面部署。
::: hljs-center

:::
目标:编写ansible-playbook文件,部署和配置服务器
- 
简单
 - 
强大
 - 无代理
ansible 通过SSH 或 WinRM执行任务 
ansible的使用方式
- 安装ansible
 - 设置inventory
 - 设置ansible配置文件
 - 
管理ansible
- adhoc
 - playbook(剧本)
 
 - 创建可执行文件.pyc结尾
 
实验: 安装ansible
由于RHEL8安装ansible需要订阅,故使用Rocky系统来安装ansible
# 安装EPEL支持
[root@localhost mmx]# dnf install -y epel-release
Extra Packages for Enterprise Linux 8 - x86_64                                                                                                                                                                         245 kB/s |  13 MB     00:52    
Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                                                                                                                 236 kB/s | 1.0 MB     00:04    
Last metadata expiration check: 0:00:01 ago on Sat 30 Jul 2022 10:01:14 AM CST.
Package epel-release-8-16.el8.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!
# 安装ansible
[root@localhost mmx]# dnf install ansible
Last metadata expiration check: 0:34:44 ago on Sat 30 Jul 2022 10:01:14 AM CST.
Dependencies resolved.
=======================================================================================================================================================================================================================================================
 Package                                                          Architecture                                           Version                                                       Repository                                                 Size
=======================================================================================================================================================================================================================================================
Installing:
 ansible                                                          noarch                                                 5.4.0-2.el8                                                   EPEL                                                       40 M
Installing weak dependencies:
 python3-jmespath                                                 noarch                                                 0.9.0-11.el8                                                  AppStream                                                  44 k
Transaction Summary
=======================================================================================================================================================================================================================================================
Install  2 Packages
Total size: 40 M
Total download size: 40 M
Installed size: 301 M
Is this ok [y/N]: y
Downloading Packages:
[MIRROR] ansible-5.4.0-2.el8.noarch.rpm: Status code: 404 for https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/a/ansible-5.4.0-2.el8.noarch.rpm (IP: 38.145.60.24)                                                                  
[MIRROR] ansible-5.4.0-2.el8.noarch.rpm: Status code: 404 for https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/a/ansible-5.4.0-2.el8.noarch.rpm (IP: 38.145.60.24)                                                                  
[MIRROR] ansible-5.4.0-2.el8.noarch.rpm: Status code: 404 for https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/a/ansible-5.4.0-2.el8.noarch.rpm (IP: 38.145.60.24)                                                                  
[MIRROR] ansible-5.4.0-2.el8.noarch.rpm: Status code: 404 for https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/a/ansible-5.4.0-2.el8.noarch.rpm (IP: 38.145.60.24)                                                                  
[FAILED] ansible-5.4.0-2.el8.noarch.rpm: No more mirrors to try - All mirrors were already tried without success                                                                                                                                      
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Error downloading packages:
  Cannot download Packages/a/ansible-5.4.0-2.el8.noarch.rpm: All mirrors were tried
# 查看ansible版本
[root@localhost mmx]# ansible --version
ansible [core 2.12.2]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.8/site-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.8.12 (default, May 10 2022, 23:46:40) [GCC 8.5.0 20210514 (Red Hat 8.5.0-10)]
  jinja version = 2.10.3
  libyaml = True
小结
- ansible的关键是缓解人为错误,确保IT基础技术设施的一致性和正确状态
 - ansible是开源自动化平台,适应很多不同的工作流和不同的环境
 - ansible能管理很多不同类型的系统,比如linux、windows、unix、网络设备
 - ansible playbook文件描述了IT的基础设施
 - ansible使用SSH协议连接,可以查看受管节点的明确状态
 










