代運(yùn)營公司怎么找客戶安卓系統(tǒng)優(yōu)化app
目錄
一.Ansible簡介
什么是Ansible?
?Ansible的特點(diǎn)
?Ansible的架構(gòu)
?二.Ansible任務(wù)執(zhí)行解析
ansible任務(wù)執(zhí)行模式
?ansible執(zhí)行流程
ansible命令執(zhí)行過程?
?三.Ansible配置解析
ansible的安裝方式
ansible的程序結(jié)構(gòu)(yum安裝為例)
?ansible的配置文件查找順序
?ansible的配置文件
?ansible的主機(jī)清單
四.部署ansible管理集群
實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)步驟
?五.Ansible常用模塊
主機(jī)連通性測試
?command模塊
?shell模塊
?copy模塊
?file模塊
?fetch模塊
?cron模塊
?yum模塊
?service模塊
?六 Ansible常用命令
ansible命令集解釋
?ansible-doc命令
?ansible命令
ansible配置公私鑰
一.Ansible簡介
什么是Ansible?
- ansible是新出現(xiàn)的自動化運(yùn)維工具,基于python開發(fā),集合了從多的運(yùn)維工具(puppet、chef、func、fabric)的優(yōu)點(diǎn),實(shí)現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運(yùn)行命令等功能。
- ansible是基于paramiko開發(fā)的,并且基于模塊化工作,它本身沒有批量部署的能力。真正具有批量部署的是ansible所運(yùn)行的模塊,ansible只是提供一種框架,ansible不需要在遠(yuǎn)程主機(jī)上安裝client/agents,因?yàn)樗鼈兪腔趕sh來和遠(yuǎn)程主機(jī)通訊的。ansible目前已經(jīng)被紅帽官方收購,是自動化運(yùn)維工具認(rèn)可度最高的。
- 更加詳細(xì)的資源參考官方文檔,如右是Ansible的官方網(wǎng)站:Ansible Documentation
?Ansible的特點(diǎn)
- 部署簡單,只需要在主控端部署Ansible環(huán)境,被控端無需做任何操作;
- 默認(rèn)使用SSH協(xié)議對設(shè)備進(jìn)行管理;
- 有大量的常規(guī)運(yùn)維操作模塊,可實(shí)現(xiàn)日常絕大部分的操作;
- 配置簡單、功能強(qiáng)大、擴(kuò)展性強(qiáng);
- 支持API以及自定義模塊,可以通過Python輕松擴(kuò)展;
- 通過Playbooks來定制強(qiáng)大的配置、狀態(tài)管理;
- 輕量級、無需在客戶端安裝agent,更新時,只需在操作機(jī)上進(jìn)行一次更新即可;
- 提供一個功能強(qiáng)大、操作性強(qiáng)的web管理界面和REST API接口——AWX平臺。
?Ansible的架構(gòu)
?
- Ansible:Ansible的核心程序
- HostInventory:記錄有Ansible管理的主機(jī)信息,包括端口、密碼、IP地址等
- Playbooks:“劇本”YAML格式的文件,多個任務(wù)定義在一個文件中,定義主機(jī)需要調(diào)用哪些模塊來完成的功能。
- CoreModules:核心模塊,主要操作是通過調(diào)用核心模塊來完成管理任務(wù)
- CustomModules:自定義模塊,完成核心模塊無法完成的功能,支持多種語言。
- ConnectionPlugins:連接插件,Ansible和Host通信使用
?二.Ansible任務(wù)執(zhí)行解析
ansible任務(wù)執(zhí)行模式
- ansible系統(tǒng)由控制主機(jī)被管節(jié)點(diǎn)的操作方式可以分為兩類,即adhoc和playbook
- ad-hoc模式(點(diǎn)對點(diǎn)模式)
?使用單個模塊,支持批量執(zhí)行單條命令。ad-hoc命令是一種可以快速輸入的命令,而且不需要保存起來的命令。就相當(dāng)于bash中的一句話shell
- playbook模式(劇本模式)
?劇本模式是Ansible的主要管理方式,也是Ansible功能強(qiáng)大的關(guān)鍵所在。playbook通過多個task(任務(wù))集合完成一類功能,比如web服務(wù)的安裝部署、數(shù)據(jù)庫服務(wù)的批量備份等。可以簡單地把playbook理解為通過組合多條ad-hoc操作的配置文件
?ansible執(zhí)行流程
- 簡單理解就是Ansible在運(yùn)行時,首先讀取ansible.cfg中的配置,根據(jù)規(guī)則獲取Inventory中的管理主機(jī)列表,并行的在這些主機(jī)中執(zhí)行配置的任務(wù),最后等待執(zhí)行返回結(jié)果。
ansible命令執(zhí)行過程?
- 加載自己的配置文件,默認(rèn)為/etc/ansible/ansible.cfg;
- 查找對應(yīng)的主機(jī)配置文件,找到要執(zhí)行的主機(jī)或者組;
- 加載自己對應(yīng)的模塊文件,如command;
- 通過ansible將模塊或者命令生成對應(yīng)的py文件(python腳本),并且將該文件傳輸?shù)竭h(yuǎn)程服務(wù)器;
- 對應(yīng)執(zhí)行用戶的家目錄.ansible/tmp/xxx/xxx.py文件;
- 給文件添加執(zhí)行權(quán)限;
- 執(zhí)行并且返回結(jié)果;
- 刪除臨時的py文件, sleep 0退出;
?三.Ansible配置解析
ansible的安裝方式
- ansible安裝常用兩種方式,yum安裝和pip程序安裝。
?使用pip(python的包管理模塊)安裝
- 首先,我們需要安裝python-pip包,安裝完成之后,則直接使用pip命令來安裝我們的包,具體操作過程如下:
yum install python-pip
pip install ansible
使用yum安裝
- yum安裝是我們比較熟悉的安裝方式。我們需要先安裝一個epel-release包,然后再安裝ansible即可。
yum install epel-release -y
yum install ansible -y
ansible的程序結(jié)構(gòu)(yum安裝為例)
- 配置文件目錄:/etc/ansible/
- 執(zhí)行文件目錄:/usr/bin/
- Lib庫依賴目錄:/usr/lib/pyhtonX.X/site-packages/ansible/
- Help文檔目錄:/usr/share/doc/ansible-X.X.X/
- Man文檔目錄:/usr/share/man/man1/
?ansible的配置文件查找順序
- ansible與我們其他的服務(wù)在這一點(diǎn)上又很大的不同,這里的配置文件查找是從多個地方找的,順序如下:
1.檢查環(huán)境變量 ANSIBLE_CONFIG 指向的路徑文件(export ANSIBLE_CONFIG=/etc/ansible.cfg);
2. ~/.ansible.cfg,檢查當(dāng)前目錄下的ansible.cfg配置文件;
3./etc/ansible.cfg檢查etc目錄的配置文件。
?ansible的配置文件
- ansible的配置文件路徑是/etc/ansible/ansible.cfg,ansible許多參數(shù),下面我們列出一些常見的參數(shù):
inventory = /etc/ansible/hoste #這個參數(shù)表示資源清單inventory文件的位置
library = /usr/share/ansible #指向存放ansible模塊的目錄,支持多個目錄方式,只要用冒號(:)隔開就行。fbrks = 5 #并發(fā)連接數(shù),默認(rèn)為5
sudo_user = root #設(shè)置默認(rèn)執(zhí)行命令的用戶
remote_port = 22 #指定連接被管理節(jié)點(diǎn)的端口,默認(rèn)為22端口,為安全考慮,建議修改
host_key_checking = False #設(shè)置是否檢查SSH主機(jī)的密鑰,值為True/False,關(guān)閉后第一次連接不會提示配置實(shí)例
timeout = 60 #設(shè)置SSH連接的超時時間,單位為秒
log_path = /var/log/ansible.cfg #指定一個存儲ansible日志的文件(默認(rèn)不記錄日志)
?ansible的主機(jī)清單
- 在配置文件中,我們提到了資源清單,這個清單就是主機(jī)清單,里面保存的是一些ansible需要連接管理的主機(jī)列表。
- 如下是ansible主機(jī)清單的定義方式:
1.直接指明主機(jī)地址或者主機(jī)名:
#green.example.com#
#bule.example.com#
# 192.168.40.170
# 192.168.40.1722.定義一個主機(jī)組(組名)把地址或者主機(jī)名加進(jìn)去
[niuma_mysql]
192.168.40.170
192.168.40.172
192.168.40.17
- 需要注意的是,這里的組成員可以使用通配符來匹配,這樣對于一些標(biāo)準(zhǔn)化管理就比較方便。我們可以根據(jù)實(shí)際情況來配置我們的主機(jī)列表,具體的操作如下:
vi /etc/ansible/hosts[web]
192.168.40.16
192.168.40.150
四.部署ansible管理集群
實(shí)驗(yàn)環(huán)境
主機(jī)名 | IP地址 | 安裝包 |
ansible | 192.168.40.20 | epel-release、ansible |
node1 | 192.168.40.21 | - |
node2 | 192.168.40.22 | - |
實(shí)驗(yàn)步驟
- 安裝ansible
[root@localhost ~]# hostnamectl set-hostname ansible
[root@localhost ~]# su
[root@ansible ~]# yum install epel-release -y
[root@ansible ~]# yum install ansible -y
-
添加主機(jī)清單
[root@ansible ~]# cd /etc/ansible/
[root@ansible ansible]# ls
ansible.cfg hosts roles
[root@ansible ansible]# vi hosts [web] ##添加到最后一行
192.168.40.20
192.168.40.21
-
配置公私鑰
[root@ansible ansible]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Gcx8heCuJ5aTcJMwQ1tkLnTotffs2PgbNUsLX6ZBtn4 root@ansible
The key's randomart image is:
+---[RSA 2048]----+
| oo= .. .. |
| o.*.= .. |
| .*...* . o |
| .=.o.+ o . |
| . +.So. * o |
| o = o* O |
| B .=. * E |
| . +o o. . |
| .o. |
+----[SHA256]-----+
[root@ansible ansible]# ssh-copy-id root@192.168.40.21
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.40.21 (192.168.40.21)' can't be established.
ECDSA key fingerprint is SHA256:syLOZP0q9x4iB03a1qJRnxbETn5FsxbZDyKmRRQhvHM.
ECDSA key fingerprint is MD5:1f:c8:9a:d7:df:00:72:14:1b:e3:6b:d5:3f:ae:51:c5.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.40.21's password:Number of key(s) added: 1Now try logging into the machine, with: "ssh 'root@192.168.40.21'"
and check to make sure that only the key(s) you wanted were added.[root@ansible ansible]# ssh-copy-id root@192.168.40.22
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.40.22 (192.168.40.22)' can't be established.
ECDSA key fingerprint is SHA256:d5GOWyy7Ux6q2Te8f+ibOaZl7r8UvNLF3psHdmC9LG4.
ECDSA key fingerprint is MD5:00:ab:48:63:8b:23:31:7f:07:ca:30:e5:ef:58:6e:a1.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.40.22's password:Number of key(s) added: 1Now try logging into the machine, with: "ssh 'root@192.168.40.22'"
and check to make sure that only the key(s) you wanted were added.
?全程是只需要在ansible上面操作就行
?五.Ansible常用模塊
主機(jī)連通性測試
- 使用下列命令對主機(jī)清單中的資源進(jìn)行連通性測試,出現(xiàn)下列信息說明主機(jī)處于連通狀態(tài)
#ansible 主機(jī)清單組名 -m(指定模塊名字)[root@localhost ansible]# ansible web -m ping
192.168.40.21 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}
192.168.40.22 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"
}
?command模塊
- command模塊可以直接在遠(yuǎn)程主機(jī)上執(zhí)行命令,并且結(jié)果返回打印出來,舉例如下:
##-m 指定執(zhí)行模塊
##-a 指定命令執(zhí)行
[root@ansible ansible]# ansible web -m command -a 'date'
192.168.40.22 | CHANGED | rc=0 >>
2023年 08月 28日 星期一 13:47:45 CST
192.168.40.21 | CHANGED | rc=0 >>
2023年 08月 28日 星期一 13:47:45 CST
- 命令模塊接受命令名稱,后面是空格分隔的列表參數(shù)。給定的命令將在所有選定的節(jié)點(diǎn)上執(zhí)行,它不會通過shell進(jìn)行處理,比如$HOME和操作如“<”,">","| ", " ; " ," &?" (需要使用 shell模塊實(shí)現(xiàn)這些功能)。注意,command模塊不支持 |? 管道命令。
- 下面是command模塊常用的幾個命令:
?chdir:在執(zhí)行命令之前,先切換到該目錄
execurable:切換shell來執(zhí)行命令,需要使用命令的絕對路徑
free_form:要執(zhí)行的Linux指令,一般使用Ansible的-a參數(shù)代替
creates:一個文件名,當(dāng)這個文件存在,則該命令不執(zhí)行,可以用來做判斷
removes:一個文件名,這個文件不存在,則該命令不執(zhí)行
- 以下是這些命令的效果
?shell模塊
- shell模塊可以在遠(yuǎn)程主機(jī)上調(diào)用shell解釋器運(yùn)行命令,支持shell的各種功能,例如管道等
- 只要是shell命令都可以在通過這個模塊在遠(yuǎn)程主機(jī)里面運(yùn)行
[root@ansible ~]# ansible web -m shell -a 'cat /etc/passwd | grep zhangsan'
?由于command不支持 管道符,所以它只會支持cat /etc/passwd命令
?copy模塊
- 這個模塊用于將文件復(fù)制到遠(yuǎn)程主機(jī)上,同時支持給定的內(nèi)容生成文件和修改權(quán)限等
- copy模塊的相關(guān)選項(xiàng)如下:
?src:被復(fù)制到遠(yuǎn)程主機(jī)的本地文件。可以是絕對路徑,也可以是相對路徑。如果路徑是一個目錄,則會遞歸復(fù)制,用法類似于“rsync”。
content:用于替換“src”,可以直接指定文件的值。
dest:必選項(xiàng),將源文件復(fù)制到遠(yuǎn)程主機(jī)的絕對路徑。
backup:當(dāng)文件內(nèi)容發(fā)生改變之后,在覆蓋之前,把源文件備份,備份文件包含時間信息
directory_mode:遞歸設(shè)定目錄的權(quán)限,默認(rèn)為系統(tǒng)默認(rèn)權(quán)限。
force:當(dāng)目標(biāo)主機(jī)包含該文件,但是內(nèi)容不同時,設(shè)定為“yes”,表示強(qiáng)制覆蓋;設(shè)定為“no”表示目標(biāo)主機(jī)的目標(biāo)位置不存在該文件才復(fù)制。默認(rèn)為“yes”
others:所有的file模塊中的選項(xiàng)可以在這里使用
- 實(shí)例如下:復(fù)制文件
???????
?
- 給定內(nèi)容生成文件,并且制定權(quán)限
-
備份源文件,并且覆蓋源文件
?file模塊
- file模塊主要用于設(shè)置文件的屬性,比如創(chuàng)建文件、創(chuàng)建連接文件、刪除文件等,如下為常見的命令:
?force:需要兩種情況下強(qiáng)制創(chuàng)建軟連接,一種是源文件不存在,但是之后會建立的情況下;另外一種是目標(biāo)軟鏈接已存在,需要取消之前的軟鏈接,然后創(chuàng)建新的,有兩個選項(xiàng):yes|no。
group:定義文件/目錄的屬組。后面可以加上mode:定義文件/目錄的權(quán)限。
owner:定義文件/目錄的屬主,后面必須加上path:定義文件/目錄的路徑。
recurse:遞歸設(shè)置文件的屬性,只對目錄有效,后面跟上src:被鏈接的源文件路徑,只應(yīng)用于state=link的情況
dest:被鏈接到的路徑,只應(yīng)用于state=link的情況
sate:狀態(tài),有如下選項(xiàng)
directory:如果目錄不存在,就創(chuàng)建目錄
file:即使文件不存在,也不會被創(chuàng)建
link:創(chuàng)建軟鏈接
hard:創(chuàng)建硬鏈接
touch:如果文件不存在,則會創(chuàng)建一個新的文件,如果文件或者目錄已經(jīng)存在,則更新其最后修改時間
absent:刪除目錄、文件或者取消鏈接文件
創(chuàng)建目錄,實(shí)例如下:
- 創(chuàng)建鏈接文件,實(shí)例如下:
-
刪除文件如下所示:
?fetch模塊
- fetch模塊用于從遠(yuǎn)程某個主機(jī)獲取(復(fù)制)文件到本地來
?dest:用來存在文件的目錄。
src:在遠(yuǎn)程拉取的文件,并且是一個file,不能是目錄
-
具體實(shí)例如下:
?cron模塊
- cron模塊用于管理crontab計劃性任務(wù)的,它的語法和crontab中的語法一致
?day= :日應(yīng)該運(yùn)行的工作( 1-31, *, */2, )
hour= :小時 ( 0-23, *, */2, )
minute= :分鐘( 0-59, *, */2, )
month= :月( 1-12, *, /2, )
weekday= : 周 ( 0-6 for Sunday-Saturday,, )
job= :指明運(yùn)行的命令是什么
name= :定時任務(wù)描述
reboot :任務(wù)在重啟時運(yùn)行,不建議使用,建議使用special_time
special_time :特殊的時間范圍,參數(shù):reboot(重啟時),annually(每年),monthly(每月),weekly(每周),daily(每天),hourly(每小時)
state :指定狀態(tài),present表示添加定時任務(wù),也是默認(rèn)設(shè)置,absent表示刪除定時任務(wù)
user :以哪個用戶的身份執(zhí)行
- 添加計劃性任務(wù)如下,實(shí)例如下:
- 刪除計劃性任務(wù),比如我們計劃任務(wù)添加錯誤,則可以執(zhí)行以下命令刪除計劃任務(wù)
?yum模塊
- yum模塊主要用于軟件的安裝,它的選項(xiàng)如下
?name= ?:所安裝的軟件包的名稱
state= ?:present--》安裝,latest--》安裝最新的,absent--》卸載軟件
update_cache :強(qiáng)制更新yum的緩存
conf_file ?:指定遠(yuǎn)程yum安裝時所依賴的配置文件(安裝本地已有的包)。
disable_pgp_check ?:是否禁止GPG checking,只用于present 或者 latest。
disablerepo ?:臨時禁止使用yum庫。只用于安裝或者更新時。
enablerepo ?:臨時使用的yum庫。只用于安裝或者更新時。
- 如下演示安裝 tree軟件包
?service模塊
- service模塊用于服務(wù)程序的管理,它的主要選項(xiàng)如下:
?arguments:命令行提供額外的參數(shù)
enabled:設(shè)置開機(jī)自啟
name:服務(wù)名稱
runlevel:開機(jī)啟動的級別,一般不用指定。
sleep:在重啟服務(wù)的過程中,是否等待。如在服務(wù)關(guān)閉以后等待2秒在啟動。(定義在劇本當(dāng)中)
state:有四種狀態(tài)分別為:started(啟動服務(wù)),stopped(停止服務(wù)),restart(重啟服務(wù)),reload(重載服務(wù))
-
開啟httpd服務(wù)并且設(shè)置開啟自啟
-
通過service模塊關(guān)閉httpd服務(wù)
?六 Ansible常用命令
ansible命令集解釋
- ?/usr/bin/ansible,Ansible AD-Hoc臨時命令執(zhí)行工具,常用于臨時命令的執(zhí)行
- /usr/bin/ansible-doc,Ansible模塊功能查看工具
- /usr/bin/ansible-galaxy,下載上傳優(yōu)秀的代碼或者Roles模塊的官網(wǎng)平臺,基于網(wǎng)絡(luò)的
- /usr/bin/ansible-playbook,Ansible定制自動化的任務(wù)集編排工具
- /usr/bin/ansible-pull,Ansible遠(yuǎn)程執(zhí)行命令的工具,拉取配置而非推送配置(使用較少,海量機(jī)器時使用,對運(yùn)維架構(gòu)能力要求高)
- /usr/bin/ansible-vault,Ansible文件加密工具
- /usr/bin/ansible-console,Ansible基于Linux Consoble界面可與用戶交互的命令執(zhí)行工具
?較為常用的是/usr/bin/ansible和/usr/bin/ansible-playbook
?ansible-doc命令
- ansible-doc命令常用于獲取模板塊信息及其適用幫助,一般用法如下:
ansible-doc -l ##獲取全部模塊信息
ansible-doc -s MOD_NAME #獲取指定模塊的使用幫助
-
ansible-doc的全部用法:
[root@localhost ~]# ansible-doc
usage: ansible-doc [-h] [--version] [-v] [-M MODULE_PATH]
...
optional arguments:--metadata-dump **For internal testing only** Dump json metadata forall plugins.--playbook-dir BASEDIRSince this tool does not use playbooks, use this as asubstitute playbook directory.This sets the relativepath for many features including roles/ group_vars/etc.--version show program's version number, config file location,configured module search path, module location,executable location and exit-F, --list_files Show plugin names and their source files withoutsummaries (implies --list)##-M,指定模塊的路徑-M MODULE_PATH, --module-path MODULE_PATHprepend colon-separated path(s) to module library (default=~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules)
##-h,顯示命令參數(shù)API文檔-h, --help show this help message and exit##輸出為json格式-j, --json Change output into json format.
##-l,列出可用模塊-l, --list List available plugins##-s,顯示劇本指定模塊的用法-s, --snippet Show playbook snippet for specified plugin(s)
?ansible命令
- ansible命令的具體格式如下
ansible <host-pattern> <-f forks> [-m module_name] [-a args]
-
如下
使用ansible -h來查看幫助-a,MODULE_ARGS #模塊的參數(shù),如果執(zhí)行默認(rèn)COMMAND的模塊,即是命令參數(shù),如:“date”,"pwd"。
-k,--ask-pass #ask for SSH password。登錄密碼,提示輸入SSH密碼而不是假設(shè)基于密鑰的驗(yàn)證
--ask-pass #ask for SSH。su切換密碼
-K,--ask-sudo-pass #ask for sudo password。提示密碼使用sudo,sudo表示提權(quán)操作
--ask-vault-pass #ask for vault password。 假設(shè)我們設(shè)定了加密的密碼,則用該選項(xiàng)進(jìn)行訪問
-B SECONDS #后臺超時時間
-C #模擬運(yùn)行環(huán)境并且進(jìn)行預(yù)運(yùn)行,可以進(jìn)行查錯測試
-c CONNECTION #連接類型使用
-f FORKS #并行任務(wù)數(shù),默認(rèn)為5
-i INVENTORY #指定主機(jī)清單的路徑,默認(rèn)為/etc/ansible/hosts
--list-hosts #查看有哪些主機(jī)組
-m MODULE_NAME #執(zhí)行模塊的名字,默認(rèn)使用command模塊,所以如果只執(zhí)行單一命令可以不用 -m 參數(shù)
-o #壓縮輸出,嘗試講所有結(jié)果在一行輸出,一般針對收集工具使用
-S #用su命令
-R SU_USER #指定su的用戶,默認(rèn)為root用戶
-s #用sudo的命令
-U SUDO_USERSUDO #指定sudo到哪個用戶,默認(rèn)為root用戶
-T TIMEOUT #指定ssh默認(rèn)超時時間,默認(rèn)為10s,也可以在配置文件中修改
-u REMOTE_USER #遠(yuǎn)程用戶,默認(rèn)為root用戶
-v #查看詳細(xì)信息,同時支持 -vvv,-vvvv可以查看更加詳細(xì)的信息
ansible配置公私鑰
- 上面已經(jīng)提到ansible是基于ssh協(xié)議實(shí)現(xiàn)管理主機(jī)的,所以ansible配置公私鑰的方式與ssh協(xié)議的方式相同,具體操作步驟如下:
1.生產(chǎn)私鑰
ssh-keygen
2.向被管理主機(jī)分發(fā)私鑰
ssh-copy-id root@192.168.40.20
ssh-copy-id root@192.168.40.21