ansible的安裝及基本使用

2022-05-16 18:24:42 字數 3854 閱讀 5285

1.安裝ansible

如果沒有版本和別的要求,這裡直接使用yum安裝

yum -y install ansible

檢視版本

[root@0006 ~]#ansible --version

ansible

2.4.2.0

config

file = /etc/ansible/ansible.cfg

executable location = /usr/bin/ansible

python version = 2.7.5

2.ansible 功能詳解

配置檔案

配置檔案或指令

描述/etc/ansible/ansible.cfg

主配置檔案,配置ansible工作特性

/etc/ansible/hosts

主機清單

/etc/ansible/roles/

存放角色的目錄

/usr/bin/ansible

主程式,臨時命令執行工具

/usr/bin/ansible-doc

檢視配置文件,模組功能檢視工具

/usr/bin/ansible-galaxy

/usr/bin/ansible-playbook

定製自動化任務,編排劇本工具

/usr/bin/ansible-pull

遠端執行命令的工具

/usr/bin/ansible-vault

檔案加密工具

/usr/bin/ansible-console

基於console介面與使用者互動的執行工具

3.主機清單

ansible必須通過inventory 來管理主機。ansible 可同時操作屬於乙個組的多台主機,組和主機之間的關係通過 inventory 檔案配置。

語法格式:

//

單台主機

green.example.com //

fqdn

192.168.100.10

//ip位址

192.168.100.11:2222

//非標準ssh埠

[webservers]

//定義了乙個組名

alpha.example.org //

組內的單台主機

192.168.100.10

[dbservers]

192.168.100.10

//一台主機可以是不同的組,這台主機同時屬於[webservers]

[group:children]

//組巢狀組,group為自定義的組名,children是關鍵字,固定語法,必須填寫。

dns //

group組內包含的其他組名

db //

group組內包含的其他組名

[webservers]

www[

001:006].hunk.tech //

有規律的名稱列表,

//這裡表示相當於:

www001.hunk.tech

www002.hunk.tech

www003.hunk.tech

www004.hunk.tech

www005.hunk.tech

www006.hunk.tech

[databases]

db-[a:e].example.com //

定義字母範圍的簡寫模式,

//這裡表示相當於:

db-a.example.com

db-b.example.com

db-c.example.com

db-d.example.com

db-e.example.com

//以下這2條定義了一台主機的連線方式,而不是讀取預設的配置設定

localhost ansible_connection=local

www.

163.com ansible_connection=ssh ansible_ssh_user=hunk

//最後還有乙個隱藏的分組,那就是all,代表全部主機,這個是隱式的,不需要寫出來的。

4.ansible命令

[root@0006 ~]# ansible dns -m ping

# 使用ansible對dns組內的主機進行ping模組測試

[root@

0006 ~]# ansible dns -m ping -k #加上-k選項後,會提示輸入ssh密碼了。

[root@

0006 ~]# ansible dns -m command -a '

free

'[root@

0006 ~]# ansible mfs -m shell -a "

curl '' > /etc/pki/rpm-gpg/rpm-gpg-key-moosefs

"[root@

0006 ~]# ansible wo -m shell -a "

sed -i '/ntpdate/d' /var/spool/cron/root

"[root@

0006 ~]# ansible wo -m shell -a "

echo '0 20 * * * /usr/sbin/ntpdate 192.168.2.1 && /sbin/clock -w > /dev/null 2>&1' >>/var/spool/cron/root

"

ansible常用命令語法

ansible [-m module_name] [options]

//指令 匹配規則的主機清單 -m 模組名 選項

--version //

顯示版本

-a //

模組引數(如果有)

-m module //

指定模組,預設為command

-v //

詳細過程 –vv -vvv更詳細

--list-hosts //

顯示主機列表,可簡寫--list

-k, --ask-pass //

提示連線密碼,預設key驗證

-k,--ask-become-pass //

提示使用sudo密碼

-c, --check //

檢查,並不執行

-t, --timeout=timeout //

執行命令的超時時間,預設10s

-u, --user=remote_user //

執行遠端執行的使用者

-u, sudo_user, --sudo-user //

指定sudu使用者

-b, --become //

代替舊版的sudo 切換

ansible-doc: //

顯示模組幫助

ansible-doc [options] [module...]

-a //

顯示所有模組的文件

-l, --list //

列出可用模組

-s, --snippet //

顯示指定模組的簡要說明

//例子:#ansible-doc ping

//由於ansible的模組有1378個(2.4.2.0),並且一直在持續更新。因此,這個指令必須要掌握的。

#ansible-doc -l |wc -l

1378

ansible安裝及基本命令

配置yum源 root bogon vi etc yum.repos.d dgf.repo alibase name alibase baseurl el ease ver os releasever os releas ever os basearch enabled 1 gpgcheck 1 g...

Ansible安裝及簡單使用備註

1 安裝epel源 rpm ivh 2 安裝 yum install ansible y 完成後執行 ansible version ansible 2.3.1.0 config file etc ansible ansible.cfg configured module search path d...

Ansible使用原因及安裝方式

當你的公司沒有太多資金而決定把效能過剩伺服器進行虛擬化,將一台真實伺服器變為多台虛擬機器的時候 當你的公司因業務需求需要擴充伺服器的時候 當你重複配置 安裝相同的軟體到其他伺服器的時候 你會發現,咦?我是不是有哪台伺服器忘記配置了,另一台的服務是要怎麼安裝來的?我的安裝文件的呢?咦?怎麼這不是一類作...