国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【ansible】認(rèn)識ansible,了解常用的模塊

這篇具有很好參考價(jià)值的文章主要介紹了【ansible】認(rèn)識ansible,了解常用的模塊。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、ansible是什么?

二、ansible的特點(diǎn)?

三、ansible與其他運(yùn)維工具的對比

四、ansible的環(huán)境部署

第一步:配置主機(jī)清單

第二步:完成密鑰對免密登錄

五、ansible基于命令行完成常用的模塊學(xué)習(xí)

模塊1:command模塊

模塊2:shell模塊

模塊3:cron模塊

模塊4:user模塊

模塊5:group模塊

模塊6:copy模塊

模塊7:file模塊

模塊8:hostname模塊

模塊9:ping模塊

模塊10:yum/apt模塊

模塊11:service/systemd模塊

模塊12:script模塊

模塊13:mount模塊

模塊14:archive模塊

模塊15:unarchive模塊

模塊16:replace模塊

模塊17:setup模塊

六、inventory 主機(jī)清單


一、ansible是什么?

Ansible是一個(gè)基于Python開發(fā)的配置管理和應(yīng)用部署工具,現(xiàn)在也在自動(dòng)化管理領(lǐng)域大放異彩。它融合了眾多老牌運(yùn)維工具的優(yōu)點(diǎn),Pubbet和Saltstack能實(shí)現(xiàn)的功能,Ansible基本上都可以實(shí)現(xiàn)。

Ansible能批量配置、部署、管理上千臺主機(jī)。比如以前需要切換到每個(gè)主機(jī)上執(zhí)行的一或多個(gè)操作,使用Ansible只需在固定的一臺Ansible控制節(jié)點(diǎn)上去完成所有主機(jī)的操作。

二、ansible的特點(diǎn)?

(1)、Ansible是基于模塊工作的,它只是提供了一種運(yùn)行框架,它本身沒有完成任務(wù)的能力,真正執(zhí)行操作的是Ansible的模塊, 比如copy模塊用于拷貝文件到遠(yuǎn)程主機(jī)上,service模塊用于管理服務(wù)的啟動(dòng)、停止、重啟等。

(2)、Ansible其中一個(gè)比較鮮明的特性是Agentless,即無Agent的存在,它就像普通命令一樣,并非C/S軟件,也只需在某個(gè)作為控制節(jié)點(diǎn)的主機(jī)上安裝一次Ansible即可。

(3)、ansible通?;?span style="color:#fe2c24;">ssh連接來控制遠(yuǎn)程主機(jī),遠(yuǎn)程主機(jī)上不需要安裝Ansible或其它額外的服務(wù)。

使用者在使用時(shí),在服務(wù)器終端輸入命令或者playbooks,會(huì)通過預(yù)定好的規(guī)則將playbook拆解為play,再組織成ansible可以識別的任務(wù),調(diào)用模塊和插件,根據(jù)主機(jī)清單通過SSH將 臨時(shí)文件發(fā)給遠(yuǎn)程的客戶端執(zhí)行并返回結(jié)果,執(zhí)行結(jié)束后自動(dòng)刪除

(4)、Ansible的另一個(gè)比較鮮明的特性是它的絕大多數(shù)模塊都具備冪等性(idempotence)。所謂冪等性,指的是無論執(zhí)行多少次同樣的運(yùn)算,結(jié)果都是相同的,即一條命令,任意多次執(zhí)行所產(chǎn)生的影響均與一次執(zhí)行的影響相同。比如執(zhí)行 systemctl stop xxx 命令來停止服務(wù),當(dāng)發(fā)現(xiàn)要停止的目標(biāo)服務(wù)已經(jīng)處于停止?fàn)顟B(tài),它什么也不會(huì)做, 所以多次停止的結(jié)果仍然是停止,不會(huì)改變結(jié)果,它是冪等的,而 systemctl restart xxx 是非冪等的。

Ansible的很多模塊在執(zhí)行時(shí)都會(huì)先判斷目標(biāo)節(jié)點(diǎn)是否要執(zhí)行任務(wù),所以,可以放心大膽地讓Ansible去執(zhí)行任務(wù),重復(fù)執(zhí)行某個(gè)任務(wù)絕大多數(shù)時(shí)候不會(huì)產(chǎn)生任何副作用。

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

三、ansible與其他運(yùn)維工具的對比

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

四、ansible的環(huán)境部署

ansible的安裝非常的簡單,只需要在控制節(jié)點(diǎn)安裝ansible服務(wù)即可

//管理端安裝 ansible
yum install -y epel-release			//先安裝 epel 源
yum install -y ansible

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

//ansible 目錄結(jié)構(gòu)
/etc/ansible/
├── ansible.cfg			#ansible的配置文件,一般無需修改
├── hosts				#ansible的主機(jī)清單,用于存儲(chǔ)需要管理的遠(yuǎn)程主機(jī)的相關(guān)信息
└── roles/				#公共角色目錄

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

準(zhǔn)備實(shí)驗(yàn)環(huán)境

管理端:192.168.20.15		ansible
被管理端
webserver:192.168.20.12 192.168.20.17
dbserver:192.168.20.16

第一步:配置主機(jī)清單

//配置主機(jī)清單
cd /etc/ansible
vim hosts       
[webservers]			#配置組名
192.168.20.12			#組里包含的被管理的主機(jī)IP地址或主機(jī)名(主機(jī)名需要先修改/etc/hosts文件)
192.168.20.17

[dbservers]
192.168.20.16

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

第二步:完成密鑰對免密登錄

//配置密鑰對驗(yàn)證
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

sshpass -p "123" ssh-copy-id -o StrictHostKeyChecking=no root@192.168.20.17
sshpass -p "123" ssh-copy-id -o StrictHostKeyChecking=no root@192.168.20.12
sshpass -p "123" ssh-copy-id -o StrictHostKeyChecking=no root@192.168.20.16 

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

五、ansible基于命令行完成常用的模塊學(xué)習(xí)

命令格式:ansible <主機(jī)組名> -m <模塊名> -a '模塊參數(shù)'

ansible-doc -l				#列出所有已安裝的模塊,按q退出
ansible-doc -l|wc -l        #查看有多少模塊

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊1:command模塊

command模塊是ansible的默認(rèn)模塊,在遠(yuǎn)程主機(jī)執(zhí)行命令,不支持管道,重定向等shell的特性。(ansible.cfg配置文件定義的)

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

查看模塊的參數(shù)

ansible-doc -s command		#-s 列出指定模塊的描述信息和操作動(dòng)作

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

ansible 192.168.20.17 -m command -a 'date'		#指定 ip 執(zhí)行 date
ansible webservers -m command -a 'date'			#指定組執(zhí)行 date
ansible dbservers -m command -a 'date'       
ansible all -m command -a 'date'				#all 代表所有 hosts 主機(jī)
ansible all -a 'ls /'							#如省略 -m 模塊,則默認(rèn)運(yùn)行 command 模塊

//常用的參數(shù):
chdir:在遠(yuǎn)程主機(jī)上運(yùn)行命令前提前進(jìn)入目錄
creates:判斷指定文件是否存在,如果存在,不執(zhí)行后面的操作
removes:判斷指定文件是否存在,如果存在,執(zhí)行后面的操作

ansible all -m command -a "chdir=/home  ls ./"

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

chdir:在遠(yuǎn)程主機(jī)上運(yùn)行命令的前提進(jìn)入目錄
creates: 判斷指定文件是否存在 如果存在 不執(zhí)行后面的操作 
removes: 判斷指定文件知否存在  如果存在 執(zhí)行后面的操作

模塊2:shell模塊

支持管道符號等功能

在遠(yuǎn)程主機(jī)執(zhí)行命令,相當(dāng)于調(diào)用遠(yuǎn)程主機(jī)的shell進(jìn)程,然后在該shell下打開一個(gè)子shell運(yùn)行命令(支持管道符號等功能)
ansible-doc -s shell

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

chdir:在遠(yuǎn)程主機(jī)上運(yùn)行命令的前提進(jìn)入目錄
creates: 判斷指定文件是否存在 如果存在 不執(zhí)行后面的操作 
removes: 判斷指定文件知否存在  如果存在 執(zhí)行后面的操作

creates 判斷【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

?removes判斷【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊3:cron模塊

在遠(yuǎn)程主機(jī)定義任務(wù)計(jì)劃。其中有兩種狀態(tài)(state):present表示添加(可以省略),absent表示移除。

ansible-doc -s cron  #查看模塊常用的參數(shù)有哪些

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

//常用的參數(shù):
minute/hour/day/month/weekday:分/時(shí)/日/月/周
job:任務(wù)計(jì)劃要執(zhí)行的命令
name:任務(wù)計(jì)劃的名稱
user:指定計(jì)劃任務(wù)屬于哪個(gè)用戶,默認(rèn)是root用戶

?假設(shè)??每周二的兩點(diǎn)半去備份系統(tǒng)的日志

[root@localhost ansible]#ansible all -m cron -a "minute=30 hour=2 weekday=2 job='/bin/cp -f /var/log/messages /opt/' name="backup_log""

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

每2個(gè)月的10號的早上晚上10點(diǎn)都完成一次系統(tǒng)日志的備份

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

想要?jiǎng)h除計(jì)劃性任務(wù)?

cron        在遠(yuǎn)程主機(jī)設(shè)置crontab計(jì)劃任務(wù)    
minute  hour  day  month  weekday  job  name  state=present|absent

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

cron        在遠(yuǎn)程主機(jī)設(shè)置crontab計(jì)劃任務(wù)    
minute  hour  day  month  weekday  job  name  state=present|absent

模塊4:user模塊

//用戶管理的模塊
ansible-doc -s user

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

常用的參數(shù)有:

name: 表示用戶名 必選的參數(shù)

state=present 或 absent 表示創(chuàng)建賬號或者刪除賬號 present表示創(chuàng)建 absent表示刪除

system=yes或no 表示是否為系統(tǒng)賬號

uid:表示用戶uid

group:用戶基本組

groups:用戶附加組

shell:默認(rèn)的shell

create_home=yes或no 表示是否創(chuàng)建家目錄

password 用戶的密碼 建議使用加密后的字符串

remove為yes或no 當(dāng)state為absent的時(shí)候? 是否刪除用戶的家目錄?

ansible dbservers -m user -a 'name="test01"'				#創(chuàng)建用戶test01
ansible dbservers -m command -a 'tail /etc/passwd'
ansible dbservers -m user -a 'name="test01" state=absent'	#刪除用戶test01

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

[root@localhost ansible]#ansible dbservers -m user -a 'name=nginx create_home=no shell=/sbin/nologin'
#創(chuàng)建nginx用戶  并不創(chuàng)建家目錄 以及shell類型為不登陸

[root@localhost ansible]#ansible dbservers -m user -a 'name=lisi groups=wheel uid=1008'
#創(chuàng)建lisi用戶  其uid為1008 加入wheel組中

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

[root@localhost ansible]#ansible dbservers -m user -a 'name=zhangsan password=123456'

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

user        在遠(yuǎn)程主機(jī)設(shè)管理用戶賬戶     

name  uid  group  groups  shell  create_home  remove  state=present|absent

模塊5:group模塊

//用戶組管理的模塊
ansible-doc -s group

ansible dbservers -m group -a 'name=mysql gid=306 system=yes'	#創(chuàng)建mysql組
ansible dbservers -a 'tail /etc/group'
ansible dbservers -m user -a 'name=test01 uid=306 system=yes group=mysql'	#將test01用戶添加到mysql組中
ansible dbservers -a 'tail /etc/passwd'
ansible dbservers -a 'id test01'    

模塊6:copy模塊

將ansible主機(jī)的文件/目錄/內(nèi)容復(fù)制到遠(yuǎn)程主機(jī)

dest:指出復(fù)制文件的目標(biāo)及位置,使用絕對路徑,如果源是目錄,指目標(biāo)也要是目錄,如果目標(biāo)文件已經(jīng)存在會(huì)覆蓋原有的內(nèi)容
src:指出源文件的路徑,可以使用相對路徑或絕對路徑,支持直接指定目錄,如果源是目錄則目標(biāo)也要是目錄
mode:指出復(fù)制時(shí),目標(biāo)文件的權(quán)限?
owner:指出復(fù)制時(shí),目標(biāo)文件的屬主
group:指出復(fù)制時(shí),目標(biāo)文件的屬組
content:指出復(fù)制到目標(biāo)主機(jī)上的內(nèi)容,不能與src一起使用

在ansible主機(jī)上準(zhǔn)備了nginx.service文件,將其復(fù)制到遠(yuǎn)程主機(jī)的opt目錄中

[root@localhost ansible]#ansible webservers -m copy -a 'src=nginx.service dest=/opt/nginx.service mode=777 owner=xueyin'

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

[root@localhost ansible]#ansible dbservers -m copy -a 'content="helloworld" dest=/opt/hello.txt'

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

[root@localhost ansible]#ansible dbservers -m copy -a 'src=/etc/yum.repos.d/ dest=/opt/rh'

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊7:file模塊

在遠(yuǎn)程主機(jī)管理文件/目錄,比如修改文件的權(quán)限? 創(chuàng)建空目錄 空文件 或者創(chuàng)建軟連接等

[root@localhost ansible]#ansible dbservers -m file -a 'path=/opt/hello.txt mode=777 owner=xueyin'

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?給遠(yuǎn)程主機(jī)創(chuàng)建一個(gè)軟連接文件

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

?給遠(yuǎn)程主機(jī)創(chuàng)建一個(gè)空文件? 或者一個(gè)空目錄

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?刪除遠(yuǎn)程主機(jī)上的某個(gè)文件或者目錄

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊8:hostname模塊

?在遠(yuǎn)程主機(jī)設(shè)置主機(jī)名

//用于管理遠(yuǎn)程主機(jī)上的主機(jī)名
ansible dbservers -m hostname -a "name=mysql01"

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊9:ping模塊

//檢測遠(yuǎn)程主機(jī)的連通性
ansible all -m ping

ping可以快速檢測與目標(biāo)主機(jī)的連通性

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊10:yum/apt模塊

在遠(yuǎn)程主機(jī)上安裝與卸載軟件包
ansible-doc -s yum

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

在遠(yuǎn)程主機(jī)使用yum|apt-get管理軟件包    
常用的參數(shù):
name:指定服務(wù)的名稱
state=present|absent|latest present表示當(dāng)前,absent表示刪除 卸載 latest表示最新

模塊11:service/systemd模塊

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

service|systemd ? ?在遠(yuǎn)程主機(jī)使用systemctl管理服務(wù)狀態(tài) ? ?

name:被管理的服務(wù)名稱

state=started|stopped|restarted|reloaded? 指定服務(wù)的狀態(tài),動(dòng)作包含啟動(dòng)關(guān)閉或者重啟

enabled=yes|no|true|false? 指定開機(jī)是否自啟
runlevel:如果設(shè)定了enabled開機(jī)自啟去,則要定義在哪些運(yùn)行目標(biāo)下自啟動(dòng)

模塊12:script模塊

在遠(yuǎn)程主機(jī)執(zhí)行ansible主機(jī)上的shell腳本

[root@localhost ansible]#ansible webservers -m script -a 'test.sh xueyin'

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?支持位置變量,ansible主機(jī)上的腳本在遠(yuǎn)程主機(jī)上執(zhí)行

模塊13:mount模塊

掛載文件系統(tǒng)

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

?//常用的參數(shù):
src:定義掛載設(shè)備的路徑
path:定義掛載到哪個(gè)目錄,必須指定
fstype:指定掛載文件的系統(tǒng)類型,必須指定,xfs、iso9660、nfs...
opts:定義掛載的參數(shù),defaults、rw、ro...
state:定義掛載的狀態(tài),mounted(進(jìn)行掛載,修改/etc/fstab信息)、absent(永久性卸載,并修改 /etc/fstab信息)、unmounted(臨時(shí)卸載,不修改/etc/fstab信息)

比如掛載光盤鏡像

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?比如創(chuàng)建一個(gè)新的硬盤掛載到/data空目錄下

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

在這個(gè)基礎(chǔ)上完成接掛載

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維?永久解掛載

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊14:archive模塊

//打包壓縮
ansible-doc -s archive

//常用的參數(shù):
path: 必須參數(shù),遠(yuǎn)程主機(jī)上需要被打包壓縮的源文件/目錄
dest: 打包壓縮后的包文件路徑(包文件的父目錄必須存在);如果包文件已存在,則會(huì)被覆蓋
format: 指定壓縮類型,包括: bz2、gz(默認(rèn))、tar、xz、zip
remove=yes|no: 是否刪除源文件

假設(shè)需要通過ansible完成本地yum倉庫? 那么需要先把yum在線源打包壓縮?

?【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

注意:

該模塊的path支持通配符 如使用*.repo

該模塊下如果是想要打包多個(gè)文件? 那么需要每個(gè)文件寫絕對路徑用逗號隔開?

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊15:unarchive模塊

解包解壓縮

常用的參數(shù):
copy:默認(rèn)為 copy=yes ,拷貝的文件從 ansible 主機(jī)復(fù)制到遠(yuǎn)程主機(jī)(也就是說默認(rèn)是從ansible主機(jī)解壓文件到遠(yuǎn)程主機(jī)),copy=no 表示在遠(yuǎn)程主機(jī)上尋找源文件解壓
src:tar包源路徑,可以是 ansible ?主機(jī)上的路徑,也可以是遠(yuǎn)程主機(jī)上的路徑,如果是遠(yuǎn)程主機(jī)上的路徑,則需設(shè)置 copy=no
dest:解壓后文件的目標(biāo)絕對路徑
remote_src: 和 copy 功能一樣且互斥,設(shè)置 remote_src=yes 表示文件在遠(yuǎn)程主機(jī)上,設(shè)置為 remote_src=no 表示文件在 ansible 主機(jī)上

?將 ansible 主機(jī)的壓縮文件拷貝到到遠(yuǎn)程主機(jī)并解壓

[root@localhost ansible]#ansible webservers -m unarchive -a 'copy=yes src=/etc/ansible/nginx-1.24.0.tar.gz dest=/opt/'
或者
[root@localhost ansible]#ansible webservers -m unarchive -a 'remote_src=no src=/etc/ansible/nginx-1.24.0.tar.gz dest=/opt/'

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊16:replace模塊

//類似于sed命令,主要也是基于正則進(jìn)行匹配和替換
ansible-doc -s replace

//常用的參數(shù):
path:必須參數(shù),指定要修改的文件
regexp:必須參數(shù),指定一個(gè)正則表達(dá)式
replace:替換regexp參數(shù)匹配到的字符串
backup=yes|no: 修改源文件前創(chuàng)建一個(gè)包含時(shí)間戳信息的備份文件
before:如果指定,則僅替換/刪除此匹配之前的內(nèi)容,可以和after參數(shù)結(jié)合使用
after:如果指定,則僅替換/刪除此匹配之后的內(nèi)容,可以和before參數(shù)結(jié)合使用
owner:修改文件用戶名
group:修改文件組名
mode:修改文件權(quán)限

#匹配 333 并修改為 ccc
ansible dbservers -m replace -a "path=/opt/test.txt regexp='33' replace='cc'"

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

#匹配到任意一個(gè)或多個(gè)開頭的行增加注釋
ansible dbservers -m replace -a "path=/opt/test.txt regexp='^(.*)' replace='#\1'"

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

#取消注釋
ansible dbservers -m replace -a "path=/opt/test.txt regexp='^#(.*)' replace='\1'"

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

#匹配以 a 開頭的后面有一個(gè)或者多個(gè)字符的行,并在前面添加 # 注釋
ansible dbservers -m replace -a "path=/opt/test.txt regexp='^(a.*)' replace='#\1'"

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

模塊17:setup模塊

//facts 組件是用來收集被管理節(jié)點(diǎn)信息的,使用 setup 模塊可以獲取這些信息
ansible-doc -s setup

ansible webservers -m setup?? ??? ??? ??? ?#獲取mysql組主機(jī)的facts信息
ansible dbservers -m setup -a 'filter=*ipv4' ? ?#使用filter可以篩選指定的facts信息

【ansible】認(rèn)識ansible,了解常用的模塊,ansible,服務(wù)器,網(wǎng)絡(luò),云原生,docker,容器,運(yùn)維

六、inventory 主機(jī)清單

//Inventory支持對主機(jī)進(jìn)行分組,每個(gè)組內(nèi)可以定義多個(gè)主機(jī),每個(gè)主機(jī)都可以定義在任何一個(gè)或多個(gè)主機(jī)組內(nèi)。

//如果是名稱類似的主機(jī),可以使用列表的方式標(biāo)識各個(gè)主機(jī)。
vim /etc/ansible/hosts
[webservers]
192.168.20.11:2222?? ??? ?#冒號后定義遠(yuǎn)程連接端口,默認(rèn)是 ssh 的 22 端口
192.168.20.1[2:5]

[dbservers]
db-[a:f].example.org?? ?#支持匹配 a~f

//inventory 中的變量
Inventory變量名?? ? ? ? ? ? ? ? ?含義
ansible_host ? ? ? ? ? ? ? ? ?ansible連接節(jié)點(diǎn)時(shí)的IP地址
ansible_port ? ? ? ? ? ? ? ? ?連接對方的端口號,ssh連接時(shí)默認(rèn)為22
ansible_user ? ? ? ? ? ? ? ? ?連接對方主機(jī)時(shí)使用的用戶名。不指定時(shí),將使用執(zhí)行ansible或ansible-playbook命令的用戶
ansible_password ? ? ? ? ? ? ?連接時(shí)的用戶的ssh密碼,僅在未使用密鑰對驗(yàn)證的情況下有效

ansible_ssh_private_key_file ?指定密鑰認(rèn)證ssh連接時(shí)的私鑰文件
ansible_ssh_common_args ? ? ? 提供給ssh、sftp、scp命令的額外參數(shù)
ansible_become ? ? ? ? ? ? ? ?允許進(jìn)行權(quán)限提升
ansible_become_method ? ? ? ? 指定提升權(quán)限的方式,例如可使用sudo/su/runas等方式
ansible_become_user ? ? ? ? ? 提升為哪個(gè)用戶的權(quán)限,默認(rèn)提升為root
ansible_become_password ? ? ? 提升為指定用戶權(quán)限時(shí)的密碼

(1)主機(jī)變量(橫向表示)
[webservers]
192.168.20.11 ansible_port=22 ansible_user=root ansible_password=abc1234

(2)組變量(縱向表示)
[webservers:vars]?? ??? ??? ?#表示為 webservers 組內(nèi)所有主機(jī)定義變量
ansible_user=root
ansible_password=abc1234

[all:vars]?? ??? ??? ??? ??? ?#表示為所有組內(nèi)的所有主機(jī)定義變量
ansible_port=22

(3)組嵌套
[nginx]
192.168.20.20
192.168.20.21
192.168.20.22

[apache]
192.168.20.3[0:3]

[webs:children]?? ??? ?#表示為 webs 主機(jī)組中包含了 nginx 組和 apache 組內(nèi)的所有主機(jī)
nginx
apache文章來源地址http://www.zghlxwxcb.cn/news/detail-831282.html

到了這里,關(guān)于【ansible】認(rèn)識ansible,了解常用的模塊的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于ansible初始化linux服務(wù)器基礎(chǔ)環(huán)境。

    大家好,今天我要和大家分享一個(gè)關(guān)于搭建centos環(huán)境的新方法。 以前我們經(jīng)常會(huì)看到一些文章介紹如何搭建centos環(huán)境,但很多時(shí)候都會(huì)出現(xiàn)一些問題。不過現(xiàn)在有了一種新的方法,就是使用ansible腳本來實(shí)現(xiàn)。 雖然這種方法僅適用于centos7,但只要稍作修改就可以應(yīng)用到其他的

    2023年04月27日
    瀏覽(22)
  • 認(rèn)識SQLServer 與登錄服務(wù)器

    一, 認(rèn)識 SQLServer 1. SQL Server概念: SQL Server 是 Microsoft 開發(fā)的一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),現(xiàn)在是世界上最為常用的數(shù) 據(jù)庫之一; ?SQL Server 是一個(gè)高度可擴(kuò)展的產(chǎn)品,可以從一個(gè)單一的筆記本電腦上運(yùn)行的任何東西或以高倍 云服務(wù)器網(wǎng)絡(luò),或在兩者之間任何東西。 雖然說

    2024年02月08日
    瀏覽(17)
  • 第五章認(rèn)識Node.js服務(wù)器開發(fā)

    目錄 認(rèn)識服務(wù)器開發(fā) 基本概念 基本作用 基本優(yōu)勢 基本組成 Node.js網(wǎng)站服務(wù)器 基本概述 基本步驟 基本特點(diǎn) 認(rèn)識HTTP協(xié)議 基本概述 HTTP的請求消息和響應(yīng)消息 請求消息 響應(yīng)消息 HTTP請求處理與響應(yīng)處理 GET請求參數(shù) POST請求參數(shù) 路由 靜態(tài)資源訪問 認(rèn)識服務(wù)器開發(fā) 基本概念 服

    2024年02月07日
    瀏覽(19)
  • 第六章認(rèn)識Node.js服務(wù)器開發(fā)

    目錄 Node.js同步和異步編程 基本概念 執(zhí)行方式 獲取異步API的返回值 網(wǎng)頁基礎(chǔ)擴(kuò)展 項(xiàng)目 Node.js同步和異步編程 基本概念 同步API(應(yīng)用程序編程接口)是指只有當(dāng)前API執(zhí)行完畢后才能繼續(xù)執(zhí)行下一個(gè)API。 形象的說同步模式就是一個(gè)服務(wù)員在某一個(gè)時(shí)間段內(nèi)只服務(wù)一個(gè)客人的模

    2024年02月05日
    瀏覽(37)
  • 一文了解刀片服務(wù)器與機(jī)架服務(wù)器,好文!

    一文了解刀片服務(wù)器與機(jī)架服務(wù)器,好文!

    數(shù)據(jù)中心行業(yè)最常用的兩種服務(wù)器是刀片服務(wù)器和機(jī)架服務(wù)器,本文帶大家了解一下這兩種服務(wù)器。 機(jī)架式服務(wù)器是專門為安裝在服務(wù)器機(jī)架內(nèi)而構(gòu)建的服務(wù)器,機(jī)架式服務(wù)器是一種通用機(jī)器,可以進(jìn)行配置來支持不同的需求,它們最常見于數(shù)據(jù)中心環(huán)境,但也可用于較小的

    2024年02月05日
    瀏覽(24)
  • ansible(2)-- ansible常用模塊

    ansible(2)-- ansible常用模塊

    部署ansible:ansible(1)-- 部署ansible連接被控端_luo_guibin的博客-CSDN博客 目錄 ?一、ansible常用模塊 1.1 ping 1.2 command 1.3 raw 1.4 shell 1.5 script 1.6 copy 1.7 template 1.8 yum 11.0.1.13 主控端(ansible) 11.0.1.12 被控端(k8s-master) 查看主控端被控端IP,主控端(10.1.1.13)查看ansible配置文件的被控端,

    2024年02月11日
    瀏覽(22)
  • F5服務(wù)器負(fù)載均衡能力如何?一文了解

    F5服務(wù)器負(fù)載均衡能力如何?一文了解

    但凡知道服務(wù)器負(fù)載均衡這個(gè)名詞的,基本都知道 F5,因?yàn)樨?fù)載均衡是 F5 的代表作,換句話來說,負(fù)載均衡就是由 F5 發(fā)明的。提到F5服務(wù)器負(fù)載均衡能力如何?不得不關(guān)注F5提出的關(guān)于安全、網(wǎng)絡(luò)全面優(yōu)化的解決方案,在其分布式云的產(chǎn)品中,全局F5服務(wù)器負(fù)載均衡的優(yōu)勢得

    2024年02月09日
    瀏覽(21)
  • ansible 常用模塊

    ansible 常用模塊

    目錄 1.ping模塊 ?2.command模塊 3. shell模塊 4.copy模塊 5.file模塊 ?6.fetch模塊 7.cron模塊 8.yum模塊 9.service模塊 10.user模塊 11.group模塊 12.script 模塊 ?13.setup模塊 14. get_url模塊 15.stat模塊 16.unarchive模塊 1.ping模塊 使用ansible db1 -m ping 命令進(jìn)行主機(jī)連通性測試 ?2.command模塊 這個(gè)模塊可以直

    2024年01月24日
    瀏覽(20)
  • Ansible中常用模塊

    Ansible中常用模塊

    目錄 1.ansible實(shí)現(xiàn)管理的方式 2.Ad-Hoc執(zhí)行方式中如何獲得幫助 3.ansible命令運(yùn)行方式及常用參數(shù) 4.ansible的基本顏色代表信息 5.ansible中的常用模塊 command shell script copy fetch file unarchive archive hostname cron yum_repository dnf service firewalld user group lineinfile replace setup debug 綠色 ?????????

    2024年02月06日
    瀏覽(46)
  • ansible常用文件模塊

    blockinfile: ? ? ? ? 插入、更新或刪除由可定義標(biāo)記包圍的多行文本塊 lineinfile: ? ? ? ? 確保特定行位于指定文件中,反向使用正則表達(dá)式替換行。 copy: ? ? ? ? 將本地或遠(yuǎn)程主機(jī)文件復(fù)制到受管主機(jī)的指定位置,可以設(shè)置文件屬性,SELinux上下文。 fetch: ? ? ? ? 與copy相

    2023年04月19日
    瀏覽(44)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包