




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Linux自動化運(yùn)維項目12:Ansible自動化管理
學(xué)習(xí)目標(biāo)【知識目標(biāo)】了解軟件包管理模塊、用戶和身份驗證管理模塊主要功能。了解系統(tǒng)和服務(wù)管理模塊、磁盤存儲管理模塊主要功能。了解網(wǎng)絡(luò)配置管理主要功能。了解Docker容器自動化管理模塊主要功能?!炯寄苣繕?biāo)】掌握軟件包管理模塊的使用方法。掌握文件管理模塊的使用方法。掌握用戶和身份驗證管理模塊的使用方法。掌握系統(tǒng)和服務(wù)管理模塊的使用方法。掌握磁盤存儲管理模塊的使用方法。【素質(zhì)目標(biāo)】培養(yǎng)讀者的獨立思考能力和邏輯思維能力,使其能夠運(yùn)用邏輯思維解決復(fù)雜問題。培養(yǎng)讀者的信息素養(yǎng)和學(xué)習(xí)能力,使其能夠靈活運(yùn)用正確的學(xué)習(xí)方法和技巧,快速掌握新知識和技能,并不斷學(xué)習(xí)和進(jìn)步。Ansible自動化管理任務(wù)1:常用的自動化管理模塊目錄/Contents01020304軟件包管理模塊用戶和身份驗證管理模塊條件控制結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)05部署Jinja2模板01軟件包管理模塊pip模塊軟件包管理模塊可以通過自動化的方式在遠(yuǎn)程主機(jī)上安裝、升級、卸載軟件包,以及管理軟件包的依賴關(guān)系。它們支持各種操作系統(tǒng)和軟件包管理系統(tǒng),主要模塊包括apt、yum、dnf、pip、npm、yarn等,這些模塊可以與各種軟件包管理工具集成,以提供管理各種軟件包的功能,從而加快軟件包部署和配置的速度并提高效率。pip模塊是用于管理Python包的模塊。它可以用來安裝、卸載、更新Python包,以及安裝指定版本的Python包。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1name:指定Python包名稱。version:指定Python包版本號。state:指定Python包的狀態(tài),可選項有present、absent、latest等。virtualenv:指定安裝Python包的虛擬環(huán)境路徑。requirements:指定安裝的Python包清單文件的路徑。extra_args:指定要傳遞給pip命令的額外參數(shù)。executable:指定用于安裝Python包的Python可執(zhí)行文件路徑-name:Installbottlepythonpackageansible.builtin.pip:name:bottle-name:Installbottlepythonpackageonversion0.11ansible.builtin.pip:name:bottle==0.11-name:Installbottlepythonpackagewithversionspecifiersansible.builtin.pip:name:bottle>0.10,<0.20,!=0.11yum模塊yum模塊是用于管理Fedora、RHEL、CentOS、華為openEuler等Linux操作系統(tǒng)上的軟件包的模塊。它可以用于安裝、升級、刪除和查詢軟件包。其主要參數(shù)或選項如表所示。表12-1pip模塊主要參數(shù)或選項序號主要參數(shù)或選項示例1name:指定軟件包名稱。state:指定軟件包的狀態(tài),可選項有present、absent、latest等。enablerepo:指定要啟用的yum源的名稱。disablerepo:指定要禁用的yum源的名稱。installroot:指定安裝軟件包時使用的根目錄。update_cache:是否更新yum緩存。-name:InstallthelatestversionofApacheansible.builtin.yum:name:httpdstate:latest-name:Upgradeallpackagesansible.builtin.yum:name:'*'2disable_gpg_check:是否禁用GPG檢查。download_only:設(shè)置yum是否僅下載軟件包。download_dir:指定軟件包下載后的本地保存路徑-name:InstallthelatestversionofApacheansible.builtin.yum:name:httpdstate:latest-name:Upgradeallpackagesansible.builtin.yum:name:'*'state:latestyum_repository模塊yum_repository模塊是用于在CentOS、RHEL等基于yum包管理器的Linux系統(tǒng)上創(chuàng)建、編輯和刪除yum存儲庫的模塊。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1name:指定yum倉庫的名稱。description:指定yum倉庫的描述信息。baseurl:指定yum倉庫的URL。baseurl用于指定單個URL,而mirrorlist用于指定一個URL列表,以便自動選擇下載速度最快的鏡像。enabled:指定是否啟用該yum倉庫。gpgcheck:指定是否對從該yum倉庫下載的軟件包進(jìn)行GPG密鑰驗證。gpgkey:指定GPG密鑰的URL或本地路徑。state:定義yum倉庫的狀態(tài)??蛇x項有present(安裝軟件包)、absent(刪除軟件包)、latest(更新軟件包到最新版本)。file:指定在/etc/yum.repos.d/目錄下創(chuàng)建的文件的名稱,并自動為該名稱添加.repo擴(kuò)展名,如果不設(shè)置file參數(shù)的值,則文件名稱默認(rèn)為name參數(shù)的值-hosts:tasks:-name:Addrepositoryyum_repository:name:openclouddescription:openlcoudYUMrepo
baseurl:/pub/epel/7/$basearch
gpgcheck:yesgpgkey:/pub/epel/RPM-GPG-KEY-EPEL-7enabled:yesstate:presentapt模塊apt模塊是用于管理在Debian和Ubuntu系統(tǒng)上安裝、升級和卸載軟件包的模塊。它可以用于安裝、升級、刪除和查詢軟件包。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1name:指定軟件包的名稱。state:指定軟件包的狀態(tài),可選項有present、absent、latest。update_cache:指定是否更新apt的元數(shù)據(jù)緩存,以確保能夠找到最新的軟件包列表。upgrade:指定是否對軟件包執(zhí)行升級操作,可選項有dist、full、no、safe、yes。deb:指定要安裝的.deb文件的路徑,可以是本地路徑或遠(yuǎn)程URL-name:Installapachehttpd(state=presentisoptional)ansible.builtin.apt:name:apache2state:present-name:Updaterepositoriescacheandinstall"foo"packageansible.builtin.apt:name:fooupdate_cache:yes-name:Installa.debpackagefromtheinternetansible.builtin.apt:deb:/python-ppq_0.1-1_all.debapt_repository模塊apt_repository模塊是用于管理Ubuntu和Debian系統(tǒng)上的apt存儲庫的模塊。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1repo:指定apt存儲庫的名稱和URL,比如ppa:ansible/ansible。state:指定APT軟件包倉庫的狀態(tài),可選項有present、absent。filename:指定APT軟件包倉庫的配置文件名-name:Addspecifiedrepositoryintosourceslistusingspecifiedfilenameansible.builtin.apt_repository:repo:deb/linux/chrome/deb/stablemainstate:presentfilename:google-chrome-name:Removespecifiedrepositoryfromsourceslistansible.builtin.apt_repository:repo:deb/ubuntuhardypartnerstate:absent-name:AddnginxstablerepositoryfromPPAandinstallitssigningkeyonUbuntutargetansible.builtin.apt_repository:repo:ppa:nginx/stable02用戶和身份驗證管理模塊authorized_key模塊authorized_key模塊是用于在目標(biāo)主機(jī)上管理SSH授權(quán)密鑰的模塊。它可以添加、刪除和管理用戶的SSH授權(quán)密鑰,以實現(xiàn)更安全的遠(yuǎn)程訪問。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1user:指定需要添加或移除SSH公鑰的用戶,默認(rèn)為當(dāng)前連接用戶。state:指定SSH公鑰的狀態(tài),可選值為present(添加SSH公鑰)、absent(刪除SSH公鑰)。key:指定要添加或刪除的SSH公鑰,可以是一個公鑰文件的路徑,也可以是公鑰字符串。exclusive:是否從authorized_keys文件中刪除所有其他未指定的密鑰。manage_dir:指示模塊是否應(yīng)該管理授權(quán)密鑰文件的目錄。如果設(shè)置為true,則模塊將創(chuàng)建目錄,并設(shè)置現(xiàn)有目錄的所有者和權(quán)限。path:設(shè)置authorized_keys文件的備用路徑,當(dāng)不設(shè)置時,該值默認(rèn)為~/.ssh/authorized_keys-name:Setauthorizedkeytakenfromfileansible.posix.authorized_key:user:alexstate:presentkey:"{{lookup('file','/home/alex/.ssh/id_rsa.pub')}}"-name:Setauthorizedkeyinalternatelocationansible.posix.authorized_key:user:alexstate:presentkey:"{{lookup('file','/home/alex/.ssh/id_rsa.pub')}}"path:/etc/ssh/authorized_keys/alexmanage_dir:falseuser模塊user模塊是用于在目標(biāo)主機(jī)上管理用戶的模塊。它可以創(chuàng)建、修改和刪除用戶,設(shè)置用戶的密碼和SSH授權(quán)密鑰,以及管理用戶的家目錄和Shell等。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1name:指定用戶的名稱。uid:指定用戶的UID。state:指定用戶的狀態(tài),比如present、absent。home:指定用戶的家目錄。password:指定用戶的密碼。group:指定用戶所屬的組。groups:指定用戶所屬的附加組。shell:用戶默認(rèn)的Shell。append:是否追加附加組.expires:設(shè)定用戶過期時間,-1表示該用戶永不過期,整數(shù)值則表示從1970年1月1日至今的秒數(shù)。比如,expires:1422403387表示該用戶的過期時間為2015年1月28日15:36:27。password_expire_max:設(shè)定密碼必須更改的最長時間,以天為單位。password_expire_min:設(shè)定密碼必須更改的最短時間,以天為單位。如果設(shè)置為0,則表示沒有最短時間限制。ssh_key_file:用于指定用戶的SSH公鑰文件路徑。umask:設(shè)置用戶的掩碼。generate_ssh_key:是否為用戶生成SSH密鑰對。ssh_key_bits:生成的SSH密鑰對的位數(shù)。ssh_key_file:生成的SSH密鑰對的文件路徑-name:Addtheuser'alex'withaspecificuidandaprimarygroupof'admin'ansible.builtin.user:name:alexcomment:AlexDoeuid:1040group:admin-name:Addtheuser'james'withabashshell,appendingthegroup'admins'and'developers'totheuser'sgroupsansible.builtin.user:name:jamesshell:/bin/bashgroups:admins,developersappend:yes-name:Createa2048-bitSSHkeyforuserjsmithin~jsmith/.ssh/id_rsaansible.builtin.user:name:jsmithgenerate_ssh_key:yesssh_key_bits:2048ssh_key_file:.ssh/id_rsagroup模塊group模塊是用于在目標(biāo)主機(jī)上管理用戶組的模塊。它可以創(chuàng)建、修改和刪除用戶組,以及添加和刪除用戶組成員。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1name:指定組名。state:指定組狀態(tài),比如present、absent。gid:指定組的GID-name:Ensuregroup"docker"existswithcorrectgidansible.builtin.group:name:dockerstate:presentgid:175003系統(tǒng)和服務(wù)管理模塊service模塊service模塊是用于在目標(biāo)主機(jī)上管理系統(tǒng)服務(wù)的模塊,支持的初始化系統(tǒng)包括BSDinit、OpenRC、SysV、SolarisSMF、systemd、upstart等,該模塊可充當(dāng)?shù)讓臃?wù)管理器模塊的代理。service模塊可以啟動、停止、重新啟動和重載系統(tǒng)服務(wù),以及檢查服務(wù)的狀態(tài)。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1name:指定服務(wù)的名稱。state:指定服務(wù)的狀態(tài),可選項有started、stopped、restarted、reloaded。enabled:指定服務(wù)是否開機(jī)自啟動-name:Restartservicehttpd,inallcasesansible.builtin.service:name:httpdstate:restarted-name:Reloadservicehttpd,inallcasesansible.builtin.service:name:httpdstate:reloadedsystemd模塊systemd模塊是用于在目標(biāo)主機(jī)上管理systemd服務(wù)的模塊。它可以啟動、停止、重新啟動和重載systemd服務(wù),以及檢查服務(wù)的狀態(tài)。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1name:指定服務(wù)的名稱。state:指定服務(wù)的狀態(tài),可選項有started、stopped、restarted、reloaded。enabled:指定服務(wù)是否開機(jī)自啟動。masked:指定服務(wù)是否應(yīng)該被屏蔽。daemon_reload:是否重新加載守護(hù)進(jìn)程配置文件。scope:管理systemd作用域單元的名稱,可選項有system、user、global等-name:Makesureaserviceunitisrunningansible.builtin.systemd:state:startedname:httpd-name:Stopservicecronondebian,ifrunningansible.builtin.systemd:name:cronstate:stopped-name:Restartservicecrononcentos,inallcases,alsoissuedaemon-reloadtopickupconfigchangesansible.builtin.systemd:state:restarteddaemon_reload:truename:crond-name:Reloadservicehttpd,inallcasesansible.builtin.systemd:name:httpd.servicestate:reloadedfirewalld模塊firewalld模塊是用于在目標(biāo)主機(jī)上管理防火墻的模塊。它可以添加、刪除、啟用、禁用和重新加載防火墻規(guī)則。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1service:指定需要添加或移除的服務(wù)名稱。state:指定服務(wù)狀態(tài),可選項為enabled、disabled。immediate:是否立即生效。permanent:是否永久生效。zone:指定防火墻規(guī)則所屬的區(qū)域。source:指定防火墻規(guī)則的源地址。port:指定要添加或移除防火墻的端口名稱或端口范圍,端口范圍格式為PORT/PROTOCOL或PORT-PORT/PROTOCOL。port_forward:指定防火墻轉(zhuǎn)發(fā)的端口和協(xié)議。protocol:指定防火墻規(guī)則的協(xié)議。rich_rule:添加復(fù)雜的防火墻規(guī)則-name:permittrafficindefaultzoneforhttpsserviceansible.posix.firewalld:service:httpspermanent:truestate:enabledimmediate:true-name:donotpermittrafficindefaultzoneonport8081/tcpansible.posix.firewalld:port:8081/tcppermanent:truestate:disabled-name:Addrichruletoallowmultipleportsansible.posix.firewalld:immediate:truepermanent:truestate:enabledrich_rule:'rulefamily="ipv4"sourceaddress=
"/24"portport="{{item}}"protocol="tcp"accept'loop:"{{list_ports}}"vars:list_ports:-8081-8082cron模塊cron模塊是用于在目標(biāo)主機(jī)上管理計劃任務(wù)作業(yè)的模塊。它可以創(chuàng)建、刪除和修改cron任務(wù),并且可以通過指定用戶和作業(yè)名稱來控制不同用戶的定時任務(wù)。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1name:指定定時任務(wù)的名稱。state:指定定時任務(wù)的狀態(tài),比如present、absent。job:指定定時任務(wù)的執(zhí)行命令或腳本。minute:分鐘字段(0~59)。hour:小時字段(0~23)。day:日期字段(1~31)。month:月份字段(1~12)。weekday:星期字段(0~6,0表示星期日)。user:執(zhí)行任務(wù)的用戶-name:Addcronjobtocleanuplogscron:name:"Cleanuplogs"minute:0hour:3job:"find/var/log/-name'*.log'-typef-delete"-name:Addcronjobforlogercron:name:"loger"minute:"*"job:"/usr/bin/logger'Thisisatestlogmessage'" user:"{{user}}"04磁盤存儲管理模塊parted模塊Ansible使用多個模塊來管理本地存儲設(shè)備和文件系統(tǒng),例如parted、lvg、lvol、filesystem、mount等,這些模塊提供了豐富的功能和參數(shù)或選項,可以用于創(chuàng)建、刪除、調(diào)整分區(qū),創(chuàng)建和刪除邏輯卷和卷組,格式化文件系統(tǒng),掛載和卸載文件系統(tǒng)等操作,實現(xiàn)對本地存儲設(shè)備和文件系統(tǒng)的全面管理。這些模塊用于管理底層存儲和分區(qū),需謹(jǐn)慎使用,建議在測試環(huán)境中先進(jìn)行充分的測試,以確保不會導(dǎo)致數(shù)據(jù)丟失或其他不良后果。parted模塊是用于管理本地存儲設(shè)備分區(qū)的模塊。它可以創(chuàng)建、修改、刪除本地存儲設(shè)備上的分區(qū)表和分區(qū)信息。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1device:指定管理的磁盤設(shè)備名稱。number:指定要操作的分區(qū)編號。label:指定分區(qū)表類型,可選值為msdos、gpt、bsd、aix等。part_start:指定分區(qū)開始位置,默認(rèn)值為0%。part_end:指定分區(qū)結(jié)束位置,默認(rèn)值為100%。unit:指定分區(qū)的單位。state:指定分區(qū)的狀態(tài),可選值為present、absent、info。如果設(shè)置為info,該模塊只返回設(shè)備信息name:Createanewpartitiontableonadeviceparted:device:/dev/sdblabel:gptstate:present-name:Createanewpartitiononadeviceparted:device:/dev/sdbnumber:1flags:[lvm]state:presentpart_end:100%filesystem模塊filesystem模塊可以用于管理Linux操作系統(tǒng)上的文件系統(tǒng)。它可以創(chuàng)建、格式化和刪除文件系統(tǒng)。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1fstype:指定文件系統(tǒng)類型,可選項有ext4、xfs、lvm、btrfs等。dev:指定文件系統(tǒng)對應(yīng)的設(shè)備。force:是否強(qiáng)制格式化。opts:指定文件系統(tǒng)的掛載選項。state:指定文件系統(tǒng)的狀態(tài),可選項有present、absent-name:Createanewfilesystemfilesystem:fstype:ext4dev:/dev/sdb1-name:Formatadevicewithafilesystemfilesystem:fstype:ext4dev:/dev/sdb1force:truemount模塊mount模塊的主要功能是管理文件系統(tǒng)的掛載和卸載。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1src:指定文件系統(tǒng)的來源。path:指定掛載點路徑。fstype:指定要掛載的文件系統(tǒng)類型。opts:指定掛載的選項。state:指定掛載狀態(tài),可選項有mounted、unmounted、remounted-name:Mountafilesystemmount:path:/mnt/datasrc:/dev/sdb1fstype:ext4opts:defaultsstate:mounted-name:Unmountafilesystemmount:path:/mnt/datastate:unmountedlvg模塊lvg模塊用于在目標(biāo)主機(jī)上管理卷組。它可以創(chuàng)建、刪除、調(diào)整卷組屬性。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1vg:指定卷組名稱。pvs:指定添加到卷組的物理卷。state:指定卷組的狀態(tài),可選項有present、absent-name:Createavolumegroupontopof/dev/sda1withphysicalextentsize=32MBcommunity.general.lvg:vg:vg.servicespvs:/dev/sda1pesize:32-name:Removealogicalvolumegrouplvg:vg:vg01state:absentlvol模塊lvol模塊用于在目標(biāo)主機(jī)上管理邏輯卷。它可以創(chuàng)建、刪除和調(diào)整邏輯卷的屬性。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1lv:指定邏輯卷名稱。vg:指定邏輯卷所屬卷組名稱。size:指定邏輯卷大小。state:指定邏輯卷的狀態(tài),可選項有present、absent。resizefs:是否調(diào)整底層文件系統(tǒng)和邏輯卷的大小。thinpool:指定精簡池卷的名稱-name:Createanewlogicalvolumelvol:lv:lvol0vg:vg01size:1g-name:Removealogicalvolumelvol:lv:lvol0vg:vg01state:absent-name:Createalogicalvolumethesizeofallremainingspaceinthevolumegroupcommunity.general.lvol:vg:fireflylv:testsize:100%FREE05文件管理模塊file模塊Ansible文件管理模塊提供管理Linux文件系統(tǒng)的能力,包括創(chuàng)建、刪除、復(fù)制、移動、重命名文件,以及修改文件權(quán)限和所有者等。這些模塊通常用于自動化部署和配置過程中,以確保文件系統(tǒng)在不同的目標(biāo)主機(jī)之間保持一致。file模塊是用于在目標(biāo)主機(jī)上管理文件和目錄的模塊。它可以進(jìn)行創(chuàng)建、刪除、修改文件或者目錄的屬性、權(quán)限等操作。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1path:指定要操作的文件或目錄的路徑。state:指定文件或目錄的狀態(tài),可選值有absent、directory、touch、link、hard、file等。mode:指定文件或目錄的權(quán)限模式,可以是數(shù)字或字符串形式,例如0644或u+rwx、g+rx。owner:指定文件或目錄的所有者。group:指定文件或目錄的所屬組。src:指定源文件的路徑,在創(chuàng)建符號鏈接或復(fù)制文件時使用。dest:指定目標(biāo)文件的路徑,在創(chuàng)建符號鏈接或復(fù)制文件時使用。recurse:遞歸地在目錄內(nèi)容上設(shè)置指定的文件屬性,僅在state設(shè)置為directory時適用。setype:設(shè)置文件或目錄的SELinux安全上下文類型force:指定是否強(qiáng)制執(zhí)行操作-name:Touchthesamefile,butadd/removesomepermissionsansible.builtin.file:path:/etc/foo.confstate:touchmode:u+rw,g-wx,o-rwx-name:Createadirectoryifitdoesnotexistansible.builtin.file:path:/etc/some_directorystate:directorymode:'0755'-name:Recursivelychangeownershipofadirectoryansible.builtin.file:path:/etc/foostate:directoryrecurse:yesowner:foogroup:foocopy模塊copy模塊用于在目標(biāo)主機(jī)上復(fù)制文件。它可以從控制主機(jī)向目標(biāo)主機(jī)復(fù)制文件。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1src:指定要復(fù)制到目標(biāo)主機(jī)的文件的本地路徑。dest:指定將文件復(fù)制到的目標(biāo)主機(jī)上的絕對路徑。content:在控制節(jié)點上生成文件內(nèi)容,不能與src參數(shù)同時使用。backup:指定是否備份源文件。owner:設(shè)置文件的所有者。group:設(shè)置文件的所屬組。mode:設(shè)置文件的權(quán)限。force:如果目標(biāo)文件已存在,則強(qiáng)制覆蓋-name:Copyfilewithownerandpermissionsansible.builtin.copy:src:/srv/myfiles/foo.confdest:/etc/foo.confowner:foogroup:foomode:'0644'lineinfile模塊lineinfile模塊用于在文件中添加、修改或刪除指定行內(nèi)容。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1path:指定要修改的文件的路徑。line:指定要插入或替換到文件中的行內(nèi)容。state:指定要執(zhí)行的操作,可選值為present、absent。regexp:用于匹配需要修改或刪除的行的正則表達(dá)式。insertafter:指定在哪行之后插入新行。
insertbefore:指定在哪行之前插入新行。
create:指定是否創(chuàng)建文件,與state=present連用。search_string:指定需要匹配的字符串,用于查找需要修改的行-name:EnsureSELinuxissettoenforcingmodeansible.builtin.lineinfile:path:/etc/selinux/configregexp:'^SELINUX=‘line:SELINUX=enforcing-name:Replacealocalhostentrywithourownansible.builtin.lineinfile:path:/etc/hostsregexp:'^127\.0\.0\.1'line:localhost-name:Replacealocalhostentrysearchingforaliteralstringtoavoidescapingansible.builtin.lineinfile:path:/etc/hostssearch_string:''line:localhostblockinfile模塊blockinfile模塊用于在文件中添加、修改或刪除塊內(nèi)容。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1path:指定要操作的文件的路徑。block:指定要添加、修改或刪除的文本塊。state:指定文本塊的狀態(tài),可選值為present、absent。marker:用于標(biāo)記開始和結(jié)束位置的字符串。backup:指定是否創(chuàng)建包含時間戳的備份文件。insertbefore:指定在哪行之前插入新文本塊。insertafter:指定在哪行之后插入新文本塊。create:指定是否創(chuàng)建文件-name:Insert/Update"MatchUser"configurationblockin/etc/ssh/sshd_configansible.builtin.blockinfile:path:/etc/ssh/sshd_configblock:|MatchUseransible-agentPasswordAuthenticationnoarchive模塊archive模塊用于打包和壓縮文件和目錄,源文件和歸檔文件都在遠(yuǎn)程主機(jī)上。它提供了一種簡單的方法來創(chuàng)建和管理歸檔文件,支持多種歸檔格式,包括tar、zip、gz、bz2、xz等格式。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1path:指定要打包為壓縮文件的文件或目錄的路徑。dest:指定生成的歸檔文件路徑。format:指定壓縮文件格式,可選值有tar、zip、gz、bz2、xz等。owner:指定生成歸檔文件時的所有者。group:指定生成歸檔文件時的組。mode:指定生成歸檔文件時的權(quán)限。exclude_path:指定打包時需要排除的文件路徑。remove:歸檔后,刪除源文件。-name:Compressdirectory/path/to/foo/into/path/to/foo.tgzcommunity.general.archive:path:/path/to/foodest:/path/to/foo.tgz-name:Compressregularfile/path/to/foointo/path/to/foo.gzandremoveitcommunity.general.archive:path:/path/to/foodest:/path/to/foonew.tgzremove:trueunarchive模塊unarchive模塊用于解壓歸檔文件,支持多種格式,包括tar、zip、tar.gz、tar.bz2等格式。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項示例1src:指定要解壓的歸檔文件的路徑。dest:指定解壓后的目錄路徑。remote_src:指定src參數(shù)是否表示遠(yuǎn)程主機(jī)上的文件。設(shè)置為true,表示歸檔文件已經(jīng)在遠(yuǎn)程主機(jī)上,而不是在管理主機(jī)上。extra_opts:指定解壓歸檔文件時傳遞給tar命令或unzip命令的額外選項-name:Extractfoo.tgzinto/var/lib/fooansible.builtin.unarchive:src:foo.tgzdest:/var/lib/foo-name:Unarchiveafilethatisalreadyontheremotemachineansible.builtin.unarchive:src:/tmp/foo.zipdest:/usr/local/binremote_src:yes謝謝Ansible自動化管理任務(wù)2:Docker容器自動化管理模塊目錄/Contents01020304docker_image模塊docker_container模塊docker_volume模塊docker_network模塊01docker_image模塊docker_image模塊docker_image模塊用于管理Docker鏡像,支持從本地或遠(yuǎn)程鏡像倉庫拉取、推送、刪除、構(gòu)建和管理Docker鏡像。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項描述1nameDocker鏡像的名稱2sourceDocker鏡像的來源,可以是本地文件系統(tǒng)路徑或URL,可選值有build、load、pull、local等3state鏡像的狀態(tài),可選值包括present、absent4pull是否從遠(yuǎn)程鏡像倉庫拉取最新的鏡像5push是否將本地鏡像推送到遠(yuǎn)程鏡像倉庫6repository指定Docker鏡像的名稱和標(biāo)簽7tagDocker鏡像的標(biāo)簽8load_path加載Docker鏡像的.tar文件路徑9tls控制與Docker守護(hù)進(jìn)程的連接是否使用TLS加密10validate_certs控制是否驗證Docker守護(hù)進(jìn)程的TLS證書docker_image模塊docker_image模塊配置示例如下:-name:Tagandpushtolocalregistrycommunity.docker.docker_image:#Imagewillbecentos:7name:centos#Willbepushedtolocalhost:5000/centos:7repository:localhost:5000/centostag:7push:truesource:local以上示例使用docker_image模塊來構(gòu)建Docker鏡像并推送到本地私有鏡像倉庫name:centos表示要構(gòu)建的鏡像名稱為centos。repository:localhost:5000/centos表示將構(gòu)建的鏡像推送到本地私有鏡像倉庫,地址為localhost:5000/centos。tag:7表示為構(gòu)建的鏡像打上標(biāo)簽7。push:true表示在構(gòu)建鏡像后,將其推送到指定的鏡像倉庫中。source:local表示使用本地的Dockerfile來構(gòu)建鏡像,而不是從遠(yuǎn)程pull鏡像。02docker_container模塊docker_container模塊docker_container模塊可用于管理Docker容器的生命周期,支持在遠(yuǎn)程主機(jī)上創(chuàng)建、啟動、停止、刪除Docker容器。其主要參數(shù)或選項如表所示。序號主要參數(shù)或選項描述1name容器的名稱2image容器所使用的鏡像的名稱3volumes容器和主機(jī)之間的文件卷映射關(guān)系4volumes_from從其他容器掛載卷5command容器啟動時執(zhí)行的命令6state容器的狀態(tài),可選值有started、stopped、reloaded、absent7recreate如果容器已存在,是否重新創(chuàng)建8exposed_ports暴露給外部的端口9devices指定容器使用的設(shè)備10ports映射主機(jī)端口到容器內(nèi)部端口11links指定容器之間的連接關(guān)系12networks指定容器使用的網(wǎng)絡(luò)docker_container模塊docker_container模塊配置示例如下:-name:Createadatacontainercommunity.docker.docker_container:name:mydataimage:busyboxvolumes:-/data-name:Re-createarediscontainercommunity.docker.docker_container:name:myredisimage:rediscommand:redis-server--appendonlyyesstate:presentrecreate:trueexposed_ports:-6379volumes_from:-mydata在示例中,包含兩個任務(wù),用于管理Docker容器。第1個任務(wù),docker_container模塊創(chuàng)建一個名為mydata的數(shù)據(jù)容器。該容器使用busybox鏡像作為基礎(chǔ)鏡像。將主機(jī)上的/data目錄映射為容器內(nèi)的數(shù)據(jù)卷。第2個任務(wù),docker_container模塊創(chuàng)建或重新創(chuàng)建一個名為myredis的Redis容器。使用redis官方鏡像作為基礎(chǔ)鏡像。state:present確保容器存在,如果不存在則創(chuàng)建。recreate:true表示無論容器是否已存在,都強(qiáng)制重新創(chuàng)建一個新容器。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江農(nóng)林大學(xué)《體育統(tǒng)計學(xué)(含體育測量與評價)》2023-2024學(xué)年第二學(xué)期期末試卷
- 《歸去來兮辭》教學(xué)設(shè)計 2023-2024學(xué)年統(tǒng)編版高中語文選擇性必修下冊
- 天津理工大學(xué)中環(huán)信息學(xué)院《有毒有害物質(zhì)檢測》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國美術(shù)學(xué)院《財務(wù)信息系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西藏警官高等??茖W(xué)?!度襟w新聞評論》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連科技學(xué)院《工程項目管理A》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西工商職業(yè)技術(shù)學(xué)院《制藥分離工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶交通大學(xué)《會計信息系統(tǒng)(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 瀘州四川瀘州市國有土地上房屋征收補(bǔ)償中心(瀘州市物業(yè)管理中心)招聘編外人員筆試歷年參考題庫附帶答案詳解
- 泰州2025年江蘇泰州市第四人民醫(yī)院招聘合同制人員27人筆試歷年參考題庫附帶答案詳解
- DL∕T 584-2017 3kV~110kV電網(wǎng)繼電保護(hù)裝置運(yùn)行整定規(guī)程
- (正式版)FZ∕T 80018-2024 服裝 防靜電性能要求及試驗方法
- 北師大版八年級下冊生物教案全冊
- 穩(wěn)定性冠心病診斷與治療指南
- DL-T5704-2014火力發(fā)電廠熱力設(shè)備及管道保溫防腐施工質(zhì)量驗收規(guī)程
- JT-T-610-2004公路隧道火災(zāi)報警系統(tǒng)技術(shù)條件
- 初中英語比較級和最高級專項練習(xí)題含答案
- 大壩安全監(jiān)測系統(tǒng)驗收規(guī)范
- 2024年南京鐵道職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 校園超市經(jīng)營投標(biāo)方案(技術(shù)方案)
- 康復(fù)醫(yī)院建筑設(shè)計標(biāo)準(zhǔn)
評論
0/150
提交評論