您好,登錄后才能下訂單哦!
yum install epel-release -y #安裝epel倉庫
yum install ansible -y
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@
ansible all -m ping
綠色說明成功了
這種報錯是應為,第一次ssh連接,對方主機的指紋不在這臺電腦上,用ssh先連接下即可
anisble命令語法: ansible [-i 主機文件] [-f 批次] [組名] [-m 模塊名稱] [-a 模塊參數]
-i 可選擇主機清單,不指定默認到/etc/ansible/hosts找 后面跟生效范圍,可以選擇單個ip(單臺主機)或者一組主機或者all(該清單里的所有主機)。 -m 模塊(可以理解為命令) -a模塊參數
vim web.yml #寫自動化腳本
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 刷新,可以均衡負載,反代成功
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。