Linux系统自动化之ansible初始配置
Posted 江湖有缘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统自动化之ansible初始配置相关的知识,希望对你有一定的参考价值。
Linux系统自动化之ansible初始配置
一、ansible介绍
1.ansible含义
Ansible是一个IT自动化工具。 它能配置系统、部署软件、编排更复杂的IT任务,如连续部署或零停机时间滚动更新。
2.ansible介绍
Ansible用python编写,尽管市面上已经有很多可供选择的配置管理解决方案(例如Saltstack ,Puppet, Chef等) ,但它们各有优劣,而Ansible的特点在于它的简洁。让Ansible在主流的配置管理系统中.与众不同的一-点便是,它并不需要你在想要配置的每个节点上安装自己的组件。
二、配置yum仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
三、安装软件包
1.安装epel包
yum -y install epel-release
2.安装ansible包
yum -y install ansible
3.安装python
yum -y install python3
4.检查ansible版本
[root@192 yum.repos.d]# 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 = /usr/bin/ansible
python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
四、配置inventory文件
1.编辑/etc/asnible/hosts
[root@192 ~]# grep -Ev '^#|^$' /etc/ansible/hosts
[webserver]
192.168.200.133
192.168.200.135
192.168.200.136
2.编辑ansible配置文件
使用默认的root权限测试即可,实际生产示例:
[student@workstation ansible]$ vim ansible.cfg
[defaults]
inventory = /home/student/ansible/inventory
remote_user = devops
roles_path = /home/student/ansible/roles
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
五、一台控制节点三台被控节点免密
1.ssd免密
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.200.135
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.200.133
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.200.136
2.配置hosts文件
[root@192 ansible]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.133 node3
192.168.200.135 node1
192.168.200.136 node2
[root@192 ansible]#
3.所有节点配置相同的hosts
[root@192 ansible]# scp /etc/hosts root@192.168.200.135:/etc/hosts
hosts 100% 227 263.8KB/s 00:00
[root@192 ansible]# scp /etc/hosts root@192.168.200.136:/etc/hosts
hosts 100% 227 468.8KB/s 00:00
[root@192 ansible]# scp /etc/hosts root@192.168.200.133:/etc/hosts
hosts 100% 227 331.6KB/s 00:00
[root@192 ansible]#
六、测试ansible连通性
[root@192 ansible]# ansible all -m ping
192.168.200.136 | SUCCESS =>
"ansible_facts":
"discovered_interpreter_python": "/usr/libexec/platform-python"
,
"changed": false,
"ping": "pong"
192.168.200.135 | SUCCESS =>
"ansible_facts":
"discovered_interpreter_python": "/usr/libexec/platform-python"
,
"changed": false,
"ping": "pong"
192.168.200.133 | SUCCESS =>
"ansible_facts":
"discovered_interpreter_python": "/usr/libexec/platform-python"
,
"changed": false,
"ping": "pong"
以上是关于Linux系统自动化之ansible初始配置的主要内容,如果未能解决你的问题,请参考以下文章