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>