Ansible
这两天整理下ansible的相关内容
ansible是一个简单的自动化运维管理工具,基于ssh隧道完成管理,被管理端只要装有python2,和ssh就能使用,这对于linux系统来说,基本上不用额外操作。
进行免密登陆配置
-
ansiblemaster:10.1.6.172 Centos7.2
-
ansibleslave1:10.1.6.72 Centos7.2
-
ansibleslave2:10.1.6.73 Centos7.2
基本步骤:1.首先要有个中央机master,保证master能与管控端通讯,在master上生成公钥私钥; ssh-keygen -N ''
2.在.ssh 目录下生成id_rsa(私钥),id_rsa(公钥),将私钥分发到slave机器上;ssh-copy-id root@10.1.6.68
3.能直接ssh登陆上去,即表示成功
ansible的环境介绍
安装:yum install ansible 程序: ansible ansible-playbook ansible-doc 配置文件: /etc/ansible/ansible.cfg 主机清单:/etc/ansible/hosts 插件目录:/usr/share/ansible_plugins/
主机清单
vim /etc/ansible/hosts
- 直接填ip或主机名
abc 192.168.100.1
- 定义一个主机组[组名]把ip或主机名加进去
[test]
abc 192.168.100.1
- 指定公钥或者密码
格式:【主机名】 【主机地址】 【主机密码/主机公钥】 默认是root用户来进行的
[test]
host1 ansible_ssh_host=149.129.236.46 ansible_ssh_private_key_file=/home/test/ssl/common.pem ansible_ssh_user=root
host2 ansible_ssh_host=149.129.234.150 ansible_ssh_private_key_file=/home/test/ssl/common.pem ansible_ssh_user=root
运行ansible
定义好主机列表后,可以进行操作了
ansible all -m ping #主机清单的所有机器(默认路径/etc/ansible/hosts),执行ping操作 ansible all -i ./ -m ping #主机清单的所有机器(指定路径,当前目录下hosts),执行ping操作 ansible host1 -i ./ -m ping #主机清单的host1节点(指定路径,当前目录下hosts),执行ping操作