1. 程式人生 > >Ansible:自動化運維(批量部署)

Ansible:自動化運維(批量部署)

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 為字尾名的檔案: 格式(嚴格要求): - host: (主機組)remote_user: root #以什麼樣的身份;task:(任務)notify:(觸發器)

角色:roles 在這裡插入圖片描述 vi site.yml 在這裡插入圖片描述 vi handlers/main.yml 在這裡插入圖片描述 vi tasks/main.yml 在這裡插入圖片描述