1、在master节点上安装ansible,被管理节点必须打开ssh服务
# centos下载
yum -y install epel-release
.
# Amazon linux 下载
amazon-linux-extras install epel
.
[root@master-10-0-1-41 ~]# yum -y install ansible
[root@master-10-0-1-41 ~]# ansible --version
ansible 2.9.27
config file = /etc/ansible/ansible.cfg #主配置文件在这个目录
configured module search path = [u'/root/.ansible/plugins/modules',u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /bin/ansible
python version = 2.7.18 (default, Feb 28 2023, 02:51:06) [GCC 7.3.1 20180712 (Red Hat 7.3.1-15)]
3、实现master对agent的免密登录,只需要在master上操做
也可以不执行这一步,则在后面操作agent时都要加-k参数传密码
[root@master-10-0-1-41 ~]# ssh-keygen
[root@master-10-0-1-41 ~]# ssh-copy-id 10.0.1.108 (被管理节点的IP)
4、在master上定义主机组(即定义master应该管理谁),并测试连通性
# 查看ansible主配置文件里面的参数
[root@master-10-0-1-41 ~]# cat /etc/ansible/ansible.cfg
...
[defaults]
# some basic default values...
#inventory = /etc/ansible/hosts #这个参数代表主机组
#library = /usr/share/my_modules/
#module_utils = /usr/share/my_module_utils/
...
# 对/etc/ansible/hosts文件进行配置,即对主机进行一个分组
[root@master-10-0-1-41 ~]# vim /etc/ansible/hosts
...
# 在最后面添加一个group1,将被管理主机的IP添加进去
[group1]
10.0.1.108
测试连通性
ansible调用ping模块去ping所有组的主机;
all代表所有组;如果要限定只ping某个组,则将all替代为组名,比如group1
[root@master-10-0-1-41 ~]# ansible all -m ping
10.0.1.108 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
技术型分享,转载请注明出处!
欢迎互相交流,共同进步!