您好,登錄后才能下訂單哦!
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 模塊參數(shù)]
-i 可選擇主機清單,不指定默認到/etc/ansible/hosts找 后面跟生效范圍,可以選擇單個ip(單臺主機)或者一組主機或者all(該清單里的所有主機)。 -m 模塊(可以理解為命令) -a模塊參數(shù)
vim web.yml #寫自動化腳本
ansible-playbook web.yml #運行腳本
8個命令全部OK,表示全部執(zhí)行成功
訪問其中一臺的233端口,發(fā)現(xiàn)已經(jīng)有內容了,內容還是根據(jù)參數(shù)里變量自己生成的。
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
#把模板文件傳遞過去,里面的端口我已經(jīng)換成了{{prot}},傳遞的過程會直接替換成上面的變量參數(shù)666
- name: 啟動nginx服務
service: name=nginx state=started
ansible-playbook proxy.yml #運行腳本
這是我第二次運行,4個OK,命令全部執(zhí)行成功,ansible具有冪等性,已經(jīng)在目標狀態(tài)了,ansible不會再次運行的
F5 刷新,可以均衡負載,反代成功
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。