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协议连接,可以查看受管节点的明确状态