Ansible(一)介紹、安裝川背、基本配置

Ansible介紹

Ansible是一個(gè)輕量級(jí)的自動(dòng)化管理工具贰拿,它不需要在客戶端安裝代理蛤袒,通過(guò)OpenSSH或者WinRM連接到被管理主機(jī)并運(yùn)行任務(wù)。

Ansible安裝

只需要在控制節(jié)點(diǎn)主機(jī)上配置epel源壮不,然后執(zhí)行yum install ansible安裝即可汗盘。在被管理主機(jī)上不需要執(zhí)行任何操作。
建議控制節(jié)點(diǎn)和被管理主機(jī)的python版本一致

Ansible配置文件

Ansible安裝完成后询一,會(huì)默認(rèn)生成/etc/ansible/ansible.cfg配置文件隐孽。我們也可以使用其他的配置文件

查看當(dāng)前使用的配置文件

[root@localhost ~]# ansible --version |grep cfg
  config file = /etc/ansible/ansible.cfg

設(shè)置其他配置文件

Ansible只會(huì)使用它檢索到的第一個(gè)配置文件中的配置。
除了默認(rèn)的配置文件健蕊,我們還可以用其他位置的配置文件菱阵,優(yōu)先級(jí)由高到低的順序如下:

# 通過(guò)環(huán)境變量指定的配置文件優(yōu)先級(jí)最高
ANSIBLE_CONFIG 
# 其次是當(dāng)前目錄下的ansible.cfg文件
./ansible.cfg
# 再次是用戶家目錄下的.ansible.cfg文件
~/.ansible_cfg
# 默認(rèn)的配置文件優(yōu)先級(jí)最低
/etc/ansible/ansible.cfg

建議在要運(yùn)行Ansible命令的目錄中創(chuàng)建ansible.cfg文件,并將其他相關(guān)的文件都放在同一目錄下缩功。

配置文件內(nèi)容

Ansible的配置文件是以sector作為劃分的晴及。每個(gè)方括號(hào)表示一個(gè)sector

常用選項(xiàng)

# 基本配置
[defaults] 
# 該配置文件默認(rèn)使用的inventory文件
inventory = /etc/ansible/hosts
# 該配置文件使用root用戶進(jìn)行ssh連接
remote_user = root
# 使用root用戶進(jìn)行ssh連接時(shí)不提示輸入密碼
ask_pass = false

# 權(quán)限提升相關(guān)配置
[privilege_escalation] 
# 如果remote_user使用root用戶,就不需要配置提權(quán)部分嫡锌。
# 如果remote_user不是root虑稼,但不需要做特權(quán)操作,也不需要配置
# 權(quán)限實(shí)際是否提升取決于被管理主機(jī)是否配置了sudoers文件

# 需要提權(quán)
become = true
# 提權(quán)的方式
become_method = sudo
# 提權(quán)到root用戶
become_user = root
# 進(jìn)行sudo操作的時(shí)候不需要輸入密碼
become_ask_pass = false

Ansible inventory文件

inventory文件就是記錄哪些主機(jī)可以被Ansible控制
inventory文件可以分為靜態(tài)文件和動(dòng)態(tài)文件兩種

靜態(tài)inventory文件

靜態(tài)inventory文件就是一個(gè)文本文件势木,里面記錄了被管理主機(jī)的ip或者host
可以將多個(gè)主機(jī)放在一個(gè)主機(jī)組中蛛倦,便于批量管理。也可以將多個(gè)主機(jī)組放入到一個(gè)大組中啦桌。
可以使用[]符號(hào)指定多個(gè)主機(jī)

# 主機(jī)示例
# 使用IP地址  
192.169.1.100
# 使用主機(jī)名
servera

# 主機(jī)組示例 
# group1中包含server1和server2
[group1]
server1
server2
# group2中包含server3和server4
[group2]
server[3:4]
# group3中包含group1和group2里面的所有主機(jī)
# 使用:children來(lái)代表下面定義的是主機(jī)組
[group3:children]
group1
group2

特殊組

除了在inventory文件中定義的組以外溯壶,Ansible還有兩個(gè)特殊的組

  • all 表示inventory中的所有被管理主機(jī)主機(jī)
  • ungrouped 表示不屬于任何主機(jī)組的被管理主機(jī)

動(dòng)態(tài)inventory文件

動(dòng)態(tài)inventory文件實(shí)際上就是一個(gè)腳本,可以用來(lái)從其他位置獲取被管理主機(jī)的信息甫男。
腳本可以使用任何語(yǔ)言進(jìn)行編寫(xiě)且改,返回的值需要是JSON格式

使用動(dòng)態(tài)inventory文件

ansible -i inventory.py all --list-hosts
注意動(dòng)態(tài)inventory文件需要具有執(zhí)行權(quán)限

使用JSON格式查看inventory文件

ansible-inventory -i inventory --list

靜態(tài)Inventory文件和JSON格式對(duì)照及說(shuō)明

# 靜態(tài)inventory文件
[root@localhost ~]#  cat inventory
server1

[group1]
server2 user=root
server3

[group2]
server[4:6]

[group3:children]
group1
group2

[group2:vars]
user=devops
password=123

# 對(duì)應(yīng)的JSON格式文件
[root@localhost ~]#  ansible-inventory -i inventory --list
## 整個(gè)JSON是一個(gè)Python中的字典,該字典中的key值包括以下兩種
## 1. `_mata` 記錄了所有主機(jī)和主機(jī)的變量
## 2. `主機(jī)組名` 記錄了組中的主機(jī)列表或子組列表
{
   ## _mata的值是一個(gè)字典板驳,其中包括一個(gè)hostvars的key又跛,對(duì)應(yīng)的value是一個(gè)記錄主機(jī)名和相關(guān)變量的字典
    "_meta": {
        "hostvars": {
            # hostvars的值,是以主機(jī)名為key的字典若治,如果主機(jī)名沒(méi)有變量慨蓝,對(duì)應(yīng)的value值是個(gè)空字典,如果主機(jī)名有對(duì)應(yīng)的變量直砂,對(duì)應(yīng)的value值是一個(gè)key=變量名菌仁,value=變量值的字典
           # 注意主機(jī)組變量在這里會(huì)記錄到組中的所有主機(jī)中
            "server1": {},
            "server2": {
                "user": "root"
            },
            "server3": {},
            "server4": {
                "password": 123,
                "user": "devops"
            },
            "server5": {
                "password": 123,
                "user": "devops"
            },
            "server6": {
                "password": 123,
                "user": "devops"
            }
        }
    },

  ## 主機(jī)組名作為key的value值也是字典,該字典的key-value可能有以下幾種
  ## key=children  value=子主機(jī)組的列表
  ## key=hosts value=組中主機(jī)的列表
  ## key=vars  value=對(duì)應(yīng)變量的字典
    "all": {
        "children": [
            "group3",
            "ungrouped"
        ]
    },
    "group1": {
        "hosts": [
            "server2",
            "server3"
        ]
    },
    "group2": {
        "hosts": [
            "server4",
            "server5",
            "server6"
        ]
    },
    "group3": {
        "children": [
            "group1",
            "group2"
        ]
    },
    "ungrouped": {
        "hosts": [
            "server1"
        ]
    }
}

查看inventory中定義的主機(jī)

ansible -i inventory group1 --list-hosts

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末静暂,一起剝皮案震驚了整個(gè)濱河市济丘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖摹迷,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疟赊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡峡碉,警方通過(guò)查閱死者的電腦和手機(jī)近哟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)鲫寄,“玉大人吉执,你說(shuō)我怎么就攤上這事〉乩矗” “怎么了戳玫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)未斑。 經(jīng)常有香客問(wèn)我咕宿,道長(zhǎng),這世上最難降的妖魔是什么蜡秽? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任府阀,我火速辦了婚禮,結(jié)果婚禮上芽突,老公的妹妹穿的比我還像新娘试浙。我一直安慰自己,他們只是感情好诉瓦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布川队。 她就那樣靜靜地躺著力细,像睡著了一般睬澡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上眠蚂,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天煞聪,我揣著相機(jī)與錄音,去河邊找鬼逝慧。 笑死昔脯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的笛臣。 我是一名探鬼主播云稚,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼沈堡!你這毒婦竟也來(lái)了静陈?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鲸拥,沒(méi)想到半個(gè)月后拐格,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刑赶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年捏浊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撞叨。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡金踪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出牵敷,到底是詐尸還是另有隱情热康,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布劣领,位于F島的核電站姐军,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏尖淘。R本人自食惡果不足惜奕锌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望村生。 院中可真熱鬧惊暴,春花似錦、人聲如沸趁桃。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)卫病。三九已至油啤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蟀苛,已是汗流浹背益咬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留帜平,地道東北人幽告。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像裆甩,于是被迫代替她去往敵國(guó)和親冗锁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容