日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《Ansible权威指南 》一第2章 Ansible基础元素介绍

發(fā)布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Ansible权威指南 》一第2章 Ansible基础元素介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本節(jié)書摘來自華章出版社《Ansible權(quán)威指南 》一書中的第2章,第2.1節(jié),李松濤 魏 巍 甘 捷 著更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“華章計算機(jī)”公眾號查看。

第2章

Ansible基礎(chǔ)元素介紹

第1章介紹了Ansible的功能作用、通信發(fā)展史、基礎(chǔ)的安裝部署及處理Ansible安裝問題所需的Python多環(huán)境管理工具Pyenv和Virutalenv。在前期基本工作準(zhǔn)備妥當(dāng)?shù)幕A(chǔ)上,本章進(jìn)一步深入學(xué)習(xí)Ansible的基礎(chǔ)元素,會相繼接觸Ansible目錄結(jié)構(gòu)簡介、Ansible系列命令、Ansible Inventory配置規(guī)范、Ansible模式匹配規(guī)則等,其中部分內(nèi)容,諸如Inventory、Ansible-playbook等在后續(xù)涉及章節(jié)會更深入介紹。本章主要是為大家呈現(xiàn)Ansible及系列命令的基礎(chǔ)入門介紹,
所介紹的內(nèi)容相互之間沒有緊密關(guān)系,可選擇性地閱讀感興趣章節(jié)。
2.1 Ansible目錄結(jié)構(gòu)介紹
Ansible是開源工具,整個開發(fā)過程或二次開發(fā)均遵循GPL協(xié)議,所以所有源碼均可見。作為一款日常工作所需的核心軟件,我們有必要知道其目錄分布及各目錄功能。通過如下命令我們可以獲取Ansible所有文件存放目錄:

# rpm -ql ansible

該命令輸出內(nèi)容較多,大致分為如下幾類:

配置文件目錄/etc/ansible/ 執(zhí)行文件目錄/usr/bin/ Lib庫依賴目錄/usr/lib/pythonX.X/site-packages/ansible/ Help文檔目錄/usr/share/doc/ansible-X.X.X/ Man文檔目錄/usr/share/man/man1/

整體的目錄概要可參考如圖2-1所示的Ansible目錄樹結(jié)構(gòu)。






其中,如下目錄運維常要配置,需熟練掌握。
1)配置文件目錄/etc/ansible/,主要功能為:Inventory主機(jī)信息配置、Ansible工具功能配置等。所有Ansible的配置均存放在該目錄下,運維日常的所有配置類操作也均基于此目錄進(jìn)行。
2)執(zhí)行文件目錄/usr/bin/,主要功能為:Ansible系列命令默認(rèn)存放目錄。Ansible所有的可執(zhí)行文件均存放在該目錄下。
在/usr/lib/pythonXXX/site-packages/下,該目錄是系統(tǒng)當(dāng)前默認(rèn)的Python路徑,因為Ansible是基于Python編寫的,所以Ansible的所有l(wèi)ib庫文件和模塊文件也均存放于該目錄下。希望了解Ansible源碼的話可至該目錄下查看其工作原理,當(dāng)然也可至GitHub上下載歷史或最新Ansible版本。
2.2 Ansible配置文件解析
Inventory用于定義Ansible的主機(jī)列表配置,Ansible的自身配置文件只有一個,即ansible.cfg,Ansible安裝好后它默認(rèn)存放于/etc/ansible/目錄下。ansible.cfg配置文件可以存在于多個地方,Ansible讀取配置文件的順序依次是當(dāng)前命令執(zhí)行目錄→用戶家目錄下的.ansible.cfg→/etc/ansible.cfg,先找到哪個就使用哪個的配置。其ansible.cfg配置的所有內(nèi)容均可在命令行通過參數(shù)的形式傳遞或定義在Playbooks中。
配置文件ansible.cfg約有350行語句,大多數(shù)為注釋行默認(rèn)配置項。該文件遵循INI格式,分為如下幾類配置。(1)[defaults]

該類配置下定義常規(guī)的連接類配置,如inventory、library、remote_tmp、local_tmp、forks、poll_interval、sudo_user、ask_sudo_pass、ask_pass、transport、remote_port等。
[defaults]

# inventory = /etc/ansible/hosts # 定義Inventory # library = /usr/share/my_modules/ # 自定義lib庫存放目錄 # remote_tmp = $HOME/.ansible/tmp # 臨時文件遠(yuǎn)程主機(jī)存放目錄 # local_tmp = $HOME/.ansible/tmp # 臨時文件本地存放目錄 # forks = 5 # 默認(rèn)開啟的并發(fā)數(shù) # poll_interval = 15 # 默認(rèn)輪詢時間間隔 # sudo_user = root # 默認(rèn)sudo用戶 # ask_sudo_pass = True # 是否需要sudo密碼 # ask_pass = True # 是否需要密碼 # roles_path = /etc/ansible/roles # 默認(rèn)下載的Roles存放的目錄 # host_key_checking = False # 首次連接是否需要檢查key認(rèn)證,建議設(shè)為False # timeout = 10 # 默認(rèn)超時時間 # timeout = 10 # 如沒有指定用戶,默認(rèn)使用的遠(yuǎn)程連接用戶 # log_path = /var/log/ansible.log # 執(zhí)行日志存放目錄 # module_name = command # 默認(rèn)執(zhí)行的模塊 # action_plugins = /usr/share/ansible/plugins/action # action插件的存放目錄 # callback_plugins = /usr/share/ansible/plugins/callback # callback插件的存放目錄 # connection_plugins = /usr/share/ansible/plugins/connection # connection插件的# 存放目錄 # lookup_plugins = /usr/share/ansible/plugins/lookup # lookup插件的存放目錄 # vars_plugins = /usr/share/ansible/plugins/vars # vars插件的存放目錄 # filter_plugins = /usr/share/ansible/plugins/filter # filter插件的存放目錄 # test_plugins = /usr/share/ansible/plugins/test # test插件的存放目錄 # strategy_plugins = /usr/share/ansible/plugins/strategy # strategy插件的存放目錄 # fact_caching = memory # getfact緩存的主機(jī)信息存放方式 # retry_files_enabled = False # retry_files_save_path = ~/.ansible-retry # 錯誤重啟文件存放目錄

上述是日??赡苡玫降呐渲?#xff0c;這些多數(shù)保持默認(rèn)即可。
(2)[privilege_escalation]
出于安全角度考慮,部分公司不希望直接以root的高級管理員權(quán)限直接部署應(yīng)用,往往會開放普通用戶權(quán)限并給予sudo的權(quán)限,該部分配置主要針對sudo用戶提權(quán)的配置。

[privilege_escalation] # become=True # 是否sudo # become_method=sudo # sudo方式 # become_user=root # sudo后變?yōu)閞oot用戶 # become_ask_pass=False # sudo后是否驗證密碼 (3)[paramiko_connection] 定義paramiko_connection配置,該部分功能不常用,了解即可。 [paramiko_connection] # 該配置不常用到 # record_host_keys=False # 不記錄新主機(jī)的key以提升效率 # pty=False # 禁用sudo功能 (4)[ssh_connection] Ansible默認(rèn)使用SSH協(xié)議連接對端主機(jī),該部署是主要是SSH連接的一些配置,但配置項較少,多數(shù)默認(rèn)即可。 [ssh_connection] # pipelining = False # 管道加速功能,需配合requiretty使用方可生效 (5)[accelerate] Ansible連接加速相關(guān)配置。因為有部分使用者不滿意Ansible的執(zhí)行速度,所以Ansible在連接和執(zhí)行速度方面也在不斷地進(jìn)行優(yōu)化,該配置項在提升Ansibile連接速度時會涉及,多數(shù)保持默認(rèn)即可。 [accelerate] # accelerate_port = 5099 # 加速連接端口 # accelerate_timeout = 30 # 命令執(zhí)行超時時間,單位秒 # accelerate_connect_timeout = 5.0 # 連接超時時間,單位秒 # accelerate_daemon_timeout = 30 # 上一個活動連接的時間,單位分鐘 # accelerate_multi_key = yes (6)[selinux] 關(guān)于selinux的相關(guān)配置幾乎不會涉及,保持默認(rèn)配置即可。 [selinux] # libvirt_lxc_noseclabel = yes # libvirt_lxc_noseclabel = yes (7)[colors] Ansible對于輸出結(jié)果的顏色也進(jìn)行了詳盡的定義且可配置,該選項對日常功能應(yīng)用影響不大,幾乎不用修改,保持默認(rèn)即可。 [colors] # highlight = white # verbose = blue # warn = bright purple # error = red # debug = dark gray # deprecate = purple # skip = cyan # unreachable = red # ok = green # changed = yellow # diff_add = green # diff_remove = red # diff_lines = cyan

上面盡可能全地介紹了運維工作中可能需要修改的配置選項,除了在關(guān)閉首次連接提示(host_key_checking = False)或提速調(diào)整([accelerate]區(qū)域塊配置調(diào)整)時可能會稍做調(diào)整,其中絕大多數(shù)選項默認(rèn)即可,Ansible安裝好后無需任何改動即可使用。

總結(jié)

以上是生活随笔為你收集整理的《Ansible权威指南 》一第2章 Ansible基础元素介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。