部署Ansible服务程序
实验受控主机信息
操作系统 | IP地址 | 功能用途 |
---|---|---|
centos 8 | 192.168.10.20 | Ansible服务 |
centos 8 | 192.168.10.21 | dev |
centos 8 | 192.168.10.22 | test |
centos 8 | 192.168.10.23 | prod |
centos 8 | 192.168.10.24 | prod |
centos 8 | 192.168.10.25 | balancers |
更改网络连接模式
在“虚拟机设置”界面中,将“网络适配器”的“网络连接”选项调整为“桥接模式”
配置软件仓库
vim /etc/yum.repos.d/Centos-8.repo
#在原有软件仓库配置的下方,追加以下内容
[ansible]
name=ansible - mirrors.aliyun.com
#failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos/8/configmanagement/x86_64/ansible-29/
gpgcheck=0
#gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official
安装!
dnf install -y ansible
安装完毕后,Ansible服务便默认已经启动。使用–version参数可以看到Ansible服务的版本及配置信息。
[root@localhost g]# ansible --version
ansible 2.9.27
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.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Mar 19 2021, 05:13:41) [GCC 8.4.1 20200928 (Red Hat 8.4.1-1)]
设置主机清单
修改主机清单文件
#直接全部删除,添加以下内容
[root@localhost g]# vim /etc/ansible/hosts
#开发机
[dev]
192.168.10.21
#测试机
[test]
192.168.10.22
#产品机
[prod]
192.168.10.23
192.168.10.24
#负载均衡机
[balancers]
192.168.10.25
[root@localhost g]# ansible-inventory --graph
@all:
|--@balancers:
| |--192.168.10.25
|--@dev:
| |--192.168.10.21
|--@prod:
| |--192.168.10.23
| |--192.168.10.24
|--@test:
| |--192.168.10.22
|--@ungrouped:
Ansible常用变量汇总
参数 | 作用 |
---|---|
ansible_ssh_host | 受管主机名 |
ansible_ssh_port | 端口号 |
ansible_ssh_user | 默认账号 |
ansible_ssh_pass | 默认密码 |
ansible_shell_type | Shell终端类型 |
继续修改主机清单文件
[root@localhost g]# vim /etc/ansible/hosts
#开发机
[dev]
192.168.10.21
#测试机
[test]
192.168.10.22
#产品机
[prod]
192.168.10.23
192.168.10.24
#负载均衡机
[balancers]
192.168.10.25
[all:vars]
ansible_user=root
ansible_password=000000
将Ansible主配置文件中的第71行设置成默认不需要SSH协议的指纹验证,以及将第107行设置成默认执行剧本时所使用的管理员名称为root
vim /etc/ansible/ansible.cfg
68 #roles_path = /etc/ansible/roles
69
70 # uncomment this to disable SSH key host checking
71 host_key_checking = False
72
73 # change the default callback, you can only have one 'stdout' type enabled at a time.
74 #stdout_callback = skippy
105 # default user to use for playbooks if user is not specified
106 # (/usr/bin/ansible will use current user as default)
107 remote_user = root
108
109 # logging is off by default unless this path is defined
110 # if so defined, consider logrotate
不需要重启服务,在以上操作完全搞定后就可以开始后面的实验了
测试
#测试是否ping通
ansible all -m ping