Ansible是一个配置管理和应用部署工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric、SaltStack )的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
Ansible可以去对服务器上(1-N台)的一些系统应用进行配置管理,更该部分参数。
Ansible可以去安装一个新的软件应用,或者是一组软件应用。

Ansible配置以ini格式存储配置数据,在Ansible中⼏乎所有配置都可以通过Ansible的Playbook或环境变量来重新赋值。在运⾏Ansible命令时,命令将会按照以下顺序查找配置⽂件。
<code>ANSIBLE_CONFIG</code>:⾸先,Ansible命令会检查环境变量,及这个环境变量指向的配置⽂件。
<code>./ansible.cfg</code>:其次,将会检查当前⽬录下的ansible.cf g配置⽂件。
<code>~/.ansible.cfg</code> :再次,将会检查当前⽤户home⽬录下的.ansible.cf g配置⽂件。
<code>/etc/ansible/ansible.cfg</code> :最后,将会检查在⽤软件包管理⼯具安装Ansible时⾃动产⽣的配置⽂件。
<code>管理主机 k8s_master1 192.168.1.18</code>
<code>被托管主机 k8s_node1 192.168.1.19</code>
<code>被托管主机 K8S_node2 192.168.1.20</code>
<code>操作系统 Centos 7.5</code>
1.生成ansible管理主机公钥,来免密登录其他被托管主机
2.将ansible管理主机的ssh公钥发至其他被托管主机上
3.被托管主机上查看公钥发送情况
4.测试ansible管理主机免密登录被托管主机
<code>注意:</code>
由于我们只是在ansible管理主机上生成了公钥,并且只是单向的将ansible管理主机的公钥分别传给另外两台被托管主机,所以免密登录只能是ansible管理主机免密登录另外两台被托管主机,他们三台主机之间并不能互相免密登录。(要实现三台主机互相免密登录,需要分别在三台主机上都生成各自的公钥,并且三台主机还需要把自己的公钥在三台主机中相互发送,这样三台主机就可以实现相互免密登录了。)
修改/etc/hosts项不是必须,只是为了后续使用方便(如更快解析主机名与IP)。在此之前,请提前修改主机名。临时修改主机名:<code>hostname ‘主机名’</code>永久修改主机名:<code>‘修改/etc/hostname文件’</code>,重启生效。
对管理主机
- 要求Python 2.6或2.7及以上
Ansible使用以下模块,都需要安装
- paramiko
- PyYAML
- Jinja2
- httplib2
- six
对被托管主机
- ansible默认通过SSH协议管理机器
- 被管理主机要开启ssh服务,允许ansible主机登录
- 在托管节点上也需要安装Python2.5或以上的版本
- 如果托管节点上开启了SElinux,需要安装libselinux-python
1.配置epel源
2.加载epel源
3.管理主机安装ansible
有兴趣的小伙伴可以关注我的微信公众号,上面会分享一些运维知识,大家点点发财手关注一波,一起学习交流,感谢大家!!! <code>【原创公众号】:非著名运维 【福利】:公众号回复 “资料” 送运维自学资料大礼包哦!</code>