1.清單概念與靜態清單文件是什么?
答:Ansible 清單是被管理主機的列表,用于明確Ansible的管理范圍,分為靜態清單和動態清單。靜態清單是通過手動編輯的文本文件來定義被管主機,文件格式可以是INI格式或YAML格式。
在INI格式的靜態清單中,可直接列出主機的IP地址或主機名,還能對主機進行分組,分組名稱用中括號括起來。也支持嵌套分組,通過 “:children” 關鍵字實現。
2.Ansible的配置文件及組成部分有哪些?
答:配置文件:-ansible.cfg,用于配置多個Ansible工具的行為。
-"ansible-navigator.yml,用于更改ansible-navigator命令的默認選項。管理Ansible設置。
ansible.cfg配置文件由多個部分組成,每個部分用中括號指定。常見的部分及配置項包括 “[defaults]” 部分和 “[privilege_escalation]” 部分。“[defaults]”部分可設置默認清單文件路徑、遠程用戶、默認模塊等。“[privilege_escalation]” 部分用于配置特權升級相關設置,如是否允許特權升級、默認升級方法等。
3.基礎 Playbook 結構
答:Ansible Playbook采用YAML格式編寫,以”---"開頭,以”...”結束(可省略),一個基礎的Playbook結構包含多個“plays”,每個“play” 由多個主要部分組成。其中,“name” 是對該play的描述,便于識別和維護;“hosts” 用于指定該play針對的主機或主機組,從清單中選取;“tasks” 則定義一系列任務,每個任務通過“name”描述,并指定使用的模塊及參數。
4.如何啟用特權升級?
答:在play中配置特權升級。使用become布爾關鍵字可以為單個play或任務啟用或禁用特權升級。此操作會覆蓋ansible.cfg配置文件中的設置。可使用yes或true來啟用特權升級,也可使用no或false來禁用特權升級。如become: true
如果啟用特權升級,可以在play中使用become_method關鍵字來指定要對相應play使用的特權升級方法。如用become_method: sudo命令指定以sudo為特權升級方法。
5.如何查看模塊信息?
答:要查看當前自動化執行環境中可用的模塊列表,可運行ansible-navigator doc -l命令。這將顯示模塊名稱列表以及其功能的概要。
使用ansible-navigator doc modu le_name命令可顯示模塊的詳細文檔。如果指定-m stdout選項,您的終端會顯示格式化文檔。如果不指定該選項,而選擇ansible-navigator留在交互模式,您可以滾動瀏覽YAML格式的文檔。
除此之外,您也可以在交互模式中運行ansible-navigator collections命令,瀏覽當前自動化執行環境中的集合及其模塊的文檔。