中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • Python自動化運維之Ansible定義主機與組規則操作的示例分析

Python自動化運維之Ansible定義主機與組規則操作的示例分析

發布時間:2021-08-21 14:29:44 來源:億速云 閱讀:201 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Python自動化運維之Ansible定義主機與組規則操作的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Python自動化運維之Ansible定義主機與組規則操作的示例分析”這篇文章吧。

一 點睛

Ansible通過定義好的主機與組規則(Inventory)對匹配的目標主機進行遠程操作,配置規則文件默認是/etc/ansible/hosts。

二 定義主機與組

所有定義的主機與組規則都在/etc/Ansible/hosts文件中,為ini文件格式,主機可以用域名、IP、別名進行標識,其中webservers、dbservers 為組名,緊跟著的主機為其成員。格式如下:

mail.example.com
192.168.1.21:2135
[webservers]
foo.example.com
bar.example.com
192.168.1.22
[dbservers]
one.example.com
two.example.com
three.example.com
192.168.1.23

其中,192.168.1.21:2135的意思是定義一個SSH服務端口為2135的主機。

當然我們也可以使用別名來描述一臺主機。

jumper ansible_ssh_port=22 ansible_ssh_host=192.168.1.50

jumper為定義的一個別名,ansible_ssh_port為主機SSH服務端口, ansible_ssh_host為目標主機。

更多變量說明如下:

ansible_ssh_host:連接目標主機的地址。

ansible_ssh_port:連接目標主機SSH端口,端口22無需指定。

ansible_ssh_user:連接目標主機默認用戶。

ansible_ssh_pass:連接目標主機默認用戶密碼。

ansible_connection:目標主機連接類型,可以是local、ssh或 paramiko。

ansible_ssh_private_key_file:連接目標主機的ssh私鑰。

ansible_*_interpreter:指定采用非Python的其他腳本語言,如 Ruby、Perl或其他類似ansible_python_interpreter解釋器。

組成員主機名稱支持正則描述,例如:

[webservers]
www[01:50].example.com
[databases]
db-[a:f].example.com

三 定義主機變量

主機可以指定變量,以便后面供Playbooks配置使用,比如定義主機hosts1及hosts2上Apache參數http_port及maxRequestsPerChild,目的是讓兩臺主機產生Apache配置文件httpd.conf差異化,定義格式如下:

[atlanta]
host1 http_port=80 maxRequestsPerChild=808
host2 http_port=303 maxRequestsPerChild=909

四 定義組變量

組變量的作用域是覆蓋組所有成員,通過定義一個新塊,塊名由 組名+“:vars”組成,定義格式如下:

[atlanta]
host1
host2
[atlanta:vars]
ntp_server=ntp.atlanta.example.com
proxy=proxy.atlanta.example.com

五 嵌套組

Ansible支持組嵌套組,通過定義一個新塊,塊名由組名+“: children”組成,舉例如下:

[atlanta]
host1
host2
[raleigh]
host2
host3
[southeast:children]
atlanta
raleigh
[southeast:vars]
some_server=foo.southeast.example.com
halon_system_timeout=30
self_destruct_countdown=60
escape_pods=2
[usa:children]
southeast
northeast
southwest
southeast

六 分離主機與組特定數據

為了更好規范定義的主機與組變量,Ansible支持 將/etc/ansible/hosts定義的主機名與組變量單獨剝離出來存放到指定的文件中,將采用YAML格式存放,存放位置規定:“/etc/ansible/group_vars/+組名”和“/etc/ansible/host_vars/+主機名”分別存放指定組名或主機名定義的變量。

七 匹配目標

目標 (Patterns)匹配,格式為:ansible<pattern_goes_here>-m<module_name>-a<arguments>。

舉例說明:重啟webservers組的所有Apache服務。

ansible webservers -m service -a "name=httpd state=restarted"

<pattern_goes_here>參數的使用方法,詳細規則及含義見下表:

Python自動化運維之Ansible定義主機與組規則操作的示例分析

以上是“Python自動化運維之Ansible定義主機與組規則操作的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

喀喇| 肥东县| 涿鹿县| 沾益县| 蓬溪县| 昭平县| 平远县| 芜湖县| 英吉沙县| 登封市| 定州市| 泌阳县| 淄博市| 广宗县| 蓬莱市| 玛曲县| 寻甸| 太仆寺旗| 宜丰县| 宁陵县| 栖霞市| 北海市| 黔西县| 德令哈市| 涿州市| 灵寿县| 侯马市| 滦平县| 昌黎县| 南溪县| 石门县| 南通市| 丰台区| 葵青区| 吴川市| 虹口区| 琼结县| 南昌县| 西畴县| 建湖县| 宜章县|