配置ansible自动化工具

自动化运维工具
Puppet  :  用ruby语言写的

Saltstack  : 用python写的,是一个模块化shell(就是命令),用的agent服务连接的被控端,用于大集群,高并发
 
ansible  :  用python写的,也是模块化shell(就是命令),部署简单,不需要启动和安装agent等服务,用的ssh连接被控端,用于小集群,低并发


ansible的安装和部署 :
1、配置网络,设置主机名
192.168.100.10    ansible 
192.168.100.11    node1
192.168.100.12    node2

2、配置hosts解析
192.168.100.10    ansible 
192.168.100.11    node1
192.168.100.12    node2


3、配置epel源
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*


4、安装ansible
yum  -y  install  ansible


5、测试
ansible   --version


6、在被控端创建用户
ansible   all   -m   shell   -a    'useradd  devops'   -u   root   -k
ansible   all   -m   shell   -a    'echo  redhat  |  passwd --stdin  root'  -u root -k


7、在被控端做提权
ansible  all   -m  shell  -a    'echo  "devops ALL=(ALL)   NOPASSWD:   ALL"  >  /etc/sudoers.d/devops'   -u root  -k

8、做ssh免密:注意被控端devops用户密码必须正确
ssh-keygen
ssh-copy-id  devops@node1  
ssh-copy-id  devops@node2

 
9、修改ansible配置文件
vim /etc/ansible/ansible.cfg
inventory      = /etc/ansible/inventory     ansible的主机清单文件
remote_user = devops      被控端的用户
[privilege_escalation]       
become=True  #是否要提权
become_method=sudo #用sudo提权
become_user=root   #提权到root用户
become_ask_pass=False  #提权时不需要输入密码

10.测试
ansible all -m ping #测试连通性
ansbile all -m shell -a 'pwd'
ansbile all -m shell -a 'ls /root'

你可能感兴趣的:(Centos,ansible,自动化,ansible,centos)