利用ansible進行主機管理

2021-08-21 19:15:54 字數 1779 閱讀 8452

安裝好了 ansible 之後後就可以開始一些簡單的任務了

• ansible配置檔案查詢順序

– 首先檢測 ansible_config 變數定義的配置檔案

– 其次檢查當前目錄下的 ./ansible.cfg 檔案

– 再次檢查當前使用者家目錄下 ~/ansible.cfg 檔案

– 最後檢查 /etc/ansible/ansible.cfg 檔案

• /etc/ansible/ansible.cfg 預設配置檔案路徑

• ansible.cfg 配置檔案

– inventory 是定義託管主機位址配置檔案

– 首先編輯 /etc/ansible/hosts 檔案,寫入一些程序主機的位址。

• 格式

– # 表示注釋

[組名稱]

主機名稱戒ip位址,登入使用者名稱,密碼、埠等資訊

• 測試

– ansible [組名稱] --list-hosts

對於需要ansible進行管理的主機寫入到配置檔案/etc/ansible/hosts中,在該配置檔案中可以是可以對主機進行分組的

對於相同的服務比如web伺服器可以設定為乙個web組,在web組內新增相應的web主機的ip位址或者可以通過解析後使用的

網域名稱位址。

舉例說明:

[root@ansible ~]# vim /etc/ansible/hosts    

[web]

web1

web2

[db]

192.168.6.21

192.168.6.22

[other]

192.168.6.33

[root@ansible ~]# ansible other --list-hosts

hosts (1):

192.168.6.33

[root@ansible ~]# ansible db -m ping  

192.168.6.22 | success =>

192.168.6.21 | success =>

舉例說明:

[root@ansible ~]# vim /etc/ansible/hosts    

[web]

web1

web2

[web:vars]

ansible_ssh_user="root"

ansible_ssh_pass="123456"

[db]

192.168.6.21

192.168.6.22

[other]

192.168.6.33

自定義配置檔案

– 建立資料夾 myansible

– 建立配置檔案 ansible.cfg

[defaults]

inventory = myhost

– 配置主機檔案

樣例[nginx]

192.168.1.11

192.168.1.12

192.168.1.13

– ansible nginx --list-hosts

舉例說明:

只能在相應的資料夾下執行相應的功能,離開了則是執行預設/etc/ansible/ansible.cfg

[root@ansible ~]# mkdir ooxx

[root@ansible ~]# cd ooxx/

[root@ansible ooxx]# vim ansible.cfg

[defaults]

inventory = myhost

通過Ansible進行的檔案管理

blockinfile 將將文字塊新增到現有檔案 copy 將檔案複製到受管主機 fetch 從受管主機拷貝檔案到控制節點 file 設定檔案屬性 lineinfile 確保特定位於某個檔案 stat 檢索檔案狀態資訊 synchronize rsync命令的打包程式。2.1 模組的一些關鍵字 fi...

ansible 主機正則

ansible m a 該功能主要針對inventory的主機列表,案例如下 1 all 全量匹配 說明 匹配所有主機,all或者 號,兩個功能相同,只是 號需要使用雙引號引起來。匹配所有主機 ansible all m pingansible m ping 匹配某個網段 ansible 192.1...

2 Ansible用命令管理主機

ansible 提供了乙個命令列工具,在官方文件中給命令列起了乙個名字叫 ad hoc commands 命令的格式 ansible options 常用命令 1 檢視遠端主機的全部系統資訊 root jump ansible all m setup2 在遠端主機上,預設以當前bash的同名使用者,...