Ansible:自動化運維(批量部署)
阿新 • • 發佈:2018-12-21
Ansible的優點: 1、上手簡單,學習曲線平滑; 2、安全,無需安裝客戶端; 3、配置簡單(僅服務端安裝),功能強大,擴充套件效能強; 4、支援API及自定義模組,可通過python擴充套件; 5、通過playbooks來定製強大的配置,狀態管理; 6、冪等性:一種操作重複多次結果相同; 7、提供一個功能強大,操作性強的web管理介面和REST API介面–AWX平臺;
Ansible安裝:
yum install epel-release
yum install -y ansible
Ansibel配置(服務端,實現無密碼登入):
ssh -keygen
scp ./.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized.keys
#(192.168.79.167 客戶端ip)
新增客戶端主機組:/etc/ansible/host
ansible:常用命令
1、ansible-doc -l #檢視支援的模組;
2、ansible-doc -s MODEL_NAME #檢視模組用法;
ansible <客戶端> [options] -f forks:啟動併發執行緒數; -m model_name:要使用的模組; -a args:特有的引數; absent :刪除; present:安裝;開啟; latest:更新;
ansible all -m ping #檢視client端是否ping通; ansible client -m setup #檢視client端資訊; ansible client -m copy -a 'src=/root/a.txt dest=/root' #將/root 下的a.txt文 件copy到客戶端的/root下; ansible client -m user -a 'name=aaa state=present' #給客戶端新增aaa使用者; ansible client -m user -a 'name=aaa state=absent' #刪除客戶端的aaa使用者; ansible client -m yum -a 'name=tree state=present' #通過yum給客戶端安裝tree; ansible client -m service -a 'name=httpd state=started' #開啟客戶端httpd服務; ansible client -m script -a '/tmp/test.sh' #執行指令碼; ansible client -m command 'date' #查詢時間;
playbooks部署: 建立以 .yml 為字尾名的檔案: 格式(嚴格要求):
角色:roles vi site.yml vi handlers/main.yml vi tasks/main.yml