ansible 當前主流的批量配置管理工具,相比於saltstack 它是無agent 模式,基於ssh 去遠端管理主機。有密碼和金鑰兩種方式遠端認證方式。
yum -y install ansible (前提是有epel 源,如果沒有需要安裝)
pip install ansible
github原始碼包安裝
環境服務端
python 2.6/2.6.3.x
openssl
centos debian redhat
被管理端
openssl python 2.6/2.6.3.x
playbook #劇本
inventory #主機清單
modules #功能模組
plugins #外掛程式
api #介面
[defaults]# some basic default values...
#inventory = /etc/ansible/hosts #預設的主機清單檔案
#forks = 5 #併發執行任務數量,預設5
#host_key_checking = false #是否驗證遠端主機的指紋資訊,如果要禁用驗證需要去掉注釋
#sudo_user =root #是否提權,新版本用的是 become = root
#timeout = 10 #ssh 超時時間
#remote_port = 22
#log_path = /var/log/ansible.log #日誌路徑,啟用的話,注釋去掉
#private_key_file = /path/to/file #金鑰登入方式,預設關閉
######## ex 1: 未分組的主機清單,預設屬於all 組,可以使用主機名也可以使用ip
## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10
######## ex
2: 根據主機使用者分組,例如一下清單主機都屬於webservers ## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110
# 如果你的主機名字有規律的,可以通過這種方式表示多個主機www.001.example.com www.002.example.com ...
## www[001:006
].example.com
######## ex
3: 資料庫組
## [dbservers] ##
## db01.intranet.mydomain.net
## db02.intranet.mydomain.net
## 10.25.1.56
## 10.25.1.57
可以通過給主機或者主機組定義變數,在遠端執行命令的時候使用該變數
vi /etc/ansible/hosts##k8s-node
[node]
10.11.118.164 ansible_ssh_user=root ansible_ssh_pass=asdf http_port=80 #針對主機新增變數
10.11.118.165 ansible_ssh_user=root ansible_ssh_pass=asdf
[node:vars] #針對主機組新增變數
tips:主機後面的變數優先順序大於主機組中相同變數值
vi /etc/ansible/group_vars/etcd.yml #以主機組名字名命的檔案內定義變數
server_name: k8s-etcd
ansible etcd -a "echo }"
tips: 當兩個主機組中的主機有重複,然後兩個主機組的變數定義的不同,那麼前面第一次生效的變數不會被後面定義的覆蓋
使用copy 模組複製檔案報錯
"msg": "
destination /usr/local/bin not writable
"
原因:普通使用者沒有許可權寫入此目錄
解決:vi /etc/ansible/ansible.cfg
[defaults][privilege_escalation]sudo_user = root
become=true
become_method=sudo
become_user=root
解決方法:
ansible基本使用
ansible是個配置管理工具,可以批量處理一些任務。ansible只需要依賴ssh即可使用,而不需要在受管主機上安裝客戶端工具。ansible具有冪等性,即以結果為導向。比如,當我們拉取檔案到本地時,如果本地有該檔案則不再拉取,如果本地沒有該檔案則拉取。使用ansible需要滿足兩個基本條件 安裝...
Ansible基本使用
角色 作業系統 網路位址 管理主機 ubuntu 14.04 tls 192.168.200.250 託管節點 ubuntu 16.04 tls 192.168.200.11 192.168.200.12 sudo apt get install software properties common...
ansible的安裝及基本使用
1.安裝ansible 如果沒有版本和別的要求,這裡直接使用yum安裝 yum y install ansible 檢視版本 root 0006 ansible version ansible 2.4.2.0 config file etc ansible ansible.cfg executabl...