(1)通过SSH连接到devops用户中
[student@workstation ~]$ ssh devops@workstation
(2)在当前环境中下载ansible
[devops@workstation ~]$ sudo yum install ansible -y
Last metadata expiration check: 0:41:52 ago on Sat 02 Apr 2022 03:35:12 PM GMT.
Package ansible-2.8.0-1.el8ae.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!
(3)创建ansible目录,并在此目录创建inventory文件;
[devops@workstation ~]$ mkdir ansible
[devops@workstation ~]$ cd ansible
[devops@workstation ansible]$ vim inventory
(4)在inventory文件中创建相应的主机组
[devops@workstation ansible]$ vim inventory
[dev]
servera
[test]
serverb
[blancers]
serverb
[prod]
server[c:d]
[Webserver:children]
prod
(5)可以通过测试查看创建的主机组
[devops@workstation ansible]$ ansible-inventory -i inventory --graph
@all:
|--@Webserver:
| |--@prod:
| | |--serverc
| | |--serverd
|--@blancers:
| |--serverb
|--@dev:
| |--servera
|--@test:
| |--serverb
|--@ungrouped:
(6)创建ansible相应配置文件和使用清单文件和存放role目录,创建角色目录
[devops@workstation ansible]$ vim ansible.cfg
[defaults]
inventory = /home/devops/ansible/inventory
roles_path = /home/devops/ansible/roles
host_key_checking = False
[devops@workstation ansible]$ mkdir roles
(7)在配置主机中的文件中添加变量
[devops@workstation ansible]$ vim inventory
[dev]
servera
[test]
serverb
[blancers]
serverb
[prod]
server[c:d]
[Webserver:children]
prod
[all:vars]
ansible_user=root
ansible_password=redhat
(8)可以验证测试配置——测试成功
[devops@workstation ansible]$ ansible-inventory --graph
@all:
|--@Webserver:
| |--@prod:
| | |--serverc
| | |--serverd
|--@blancers:
| |--serverb
|--@dev:
| |--servera
|--@test:
| |--serverb
|--@ungrouped:
[devops@workstation ansible]$ ansible all -m ping
servera | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
serverd | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
serverc | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}
serverb | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}