yum install epel-release -y #安裝epel倉庫
yum install ansible -yhtml
vim /etc/ansible/hosts
[web-proxy]
#分組
192.168.1.112 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=yxy7714707@
#IP ssh的端口 ssh帳戶和密碼
[web-server]
192.168.1.12 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=yxy7714707@
192.168.1.13 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=yxy7714707@nginx
ansible all -m ping
綠色說明成功了
這種報錯是應爲,第一次ssh鏈接,對方主機的指紋不在這臺電腦上,用ssh先鏈接下便可
anisble命令語法: ansible [-i 主機文件] [-f 批次] [組名] [-m 模塊名稱] [-a 模塊參數]
-i 可選擇主機清單,不指定默認到/etc/ansible/hosts找 後面跟生效範圍,能夠選擇單個ip(單臺主機)或者一組主機或者all(該清單裏的全部主機)。 -m 模塊(能夠理解爲命令) -a模塊參數web
vim web.yml #寫自動化腳本vim
ansible-playbook web.yml #運行腳本
8個命令所有OK,表示所有執行成功
訪問其中一臺的233端口,發現已經有內容了,內容仍是根據參數裏變量本身生成的。後端
cp /etc/nginx/nginx.conf nginx.conf.j2
#複製一個nginx配置文件,修改爲模板
vim nginx.conf.j2
增長後端web 組
把端口改爲{{port}} ,等會傳遞的時候直接用變量替換
vim proxy.yml #編寫自動化安裝反代腳本運維
- hosts: web-proxy #生效範圍,web-proxy組 vars: port: 666 #賦值233 給port這個變量,變量也能夠在/etc/ansible/hosts文件裏賦值 remote_user: root tasks: - name: 安裝nginx yum: name=nginx state=latest - name: 傳遞模板文件 template: src=/root/ansible/nginx.conf.j2 dest=/etc/nginx/nginx.conf #把模板文件傳遞過去,裏面的端口我已經換成了{{prot}},傳遞的過程會直接替換成上面的變量參數666 - name: 啓動nginx服務 service: name=nginx state=started
ansible-playbook proxy.yml #運行腳本
這是我第二次運行,4個OK,命令所有執行成功,ansible具備冪等性,已經在目標狀態了,ansible不會再次運行的
F5 刷新,能夠均衡負載,反代成功ssh