ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。
批量完成一些需要經常重複的任務
比如:批量部署軟體
比如:批量拷貝檔案
比如:批量重啟服務
no agent 不需要在被管控主機上安裝任何軟體
no server 不用單獨啟用服務,能使用直接執行,使用時直接執行命令
對硬體資源占用小
不需要在被管控的主機上安裝任何軟體
基於模組工作
基於ssh工作
使用yaml語言
可實現多級指揮
ansible可通過epel源yum安裝,安裝方式如下:
[root@myhost ~]# yum install epel-release -y[root@myhost ~]# yum install ansible -y
ansible主機配置檔案位置:
[root@myhost ~]# ll /etc/ansible/hosts-rw-r--r-- 1 root root 1016 7月 21 07:59 /etc/ansible/hosts
配置檔案可按如下格式編寫:
192.168.10.2 ansible_port=22 ansible_user=root ansible_ssh_pass=123456引數說明:
ansible_port=22 表示使用22埠,預設為22埠,若未修改過ssh埠可不指定
ansible_user=root 表示使用root使用者來ssh連線主機
ansible_ssh_pass=123456 表示對應使用者的連線密碼
以上編寫方式較為麻煩且安全性不高,既然是基於ssh的連線,我們便可以使用金鑰驗證的方式:
[root@myhost ~]# ssh-keygen #生成金鑰#將生成的公鑰加入到192.168.10.2的認證列表
[root@myhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.2
#至此,在/etc/ansible/hosts檔案中僅需配置ip即可。
主機分組配置:
#若主機很多,我們想分組進行操作可以採取如下的配置方式:[testgroup]
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
#如上配置過後可直接通過組名對組內所有主機進行操作:
ansible testgroup -m ping #檢視主機連線狀態
Ansible最佳實踐
目錄結構 production inventory file for production servers 關於生產環境伺服器的清單檔案 stage inventory file for stage environment 關於 stage 環境的清單檔案 group vars group1 her...
Ansible入門 中文指南學習(1)
ansible中文指南 as bruce ansible all m ping u bruce as bruce,sudoing to root ansible all m ping u bruce sudo as bruce,sudoing to batman ansible all m ping...
Ansible實踐篇(一) Ansible免密登入
主要是ansible服務端需要將 root ssh id rsa.pub分發到其他伺服器 有兩個命令比較重要 ssh keygen 這個命令是用來生成本機的公鑰和私鑰的 ssh keyscan 這條命令是用來把遠端伺服器的公鑰來獲取到本地的 1 首先關閉公鑰認證 如果說不想關閉公鑰認證的話,可以用s...