ansible 自動化運維工具

2021-10-06 03:16:09 字數 3588 閱讀 1097

ansible: 自動化運維工具

批量管理

python開發

無客戶端

基於ssh服務 22

安裝:

1.ansible包在擴充套件源,epel-release

# yum -y install epel-release

# yum repolist

2.安裝,ansible

# yum -y install ansible

基礎命令:

# rpm -ql ansible //列出所有的檔案

# rpm -qc ansible //列出配置檔案

# ansible --help

# ansible-doc -l //檢視所有的模組

# ansible-doc -s yum //檢視指定模組的幫助資訊

第乙個ansible的命令:

# ansible 主機名/ip位址 -m ping

# ansible 主機名/ip位址 -m ping -o //一行輸出

管理主機:

1.編寫主機清單

vim /etc/ansible/hosts

host1

host2

2.呼叫ping模組測試後host1

# ansible host1 -m ping 會失敗

# ansible host1 -m ping -u root -k -o

ssh password:

host1 | success => , "changed": false, "ping": "pong"}

問題:管理100臺,是不是需要輸入100遍密碼,輸入100次命令???

主機清單:

# vim /etc/ansible/hosts

host1

host2

host3

host4

host5

分組:[webserver]

host1

host2

host3

host4

host5

內建變數:

ansible_ssh_user

ansible_ssh_pass

分組:[webserver]

host1 ansible_ssh_user='root' ansible_ssh_pass='qwer'

host2 ansible_ssh_user='root' ansible_ssh_pass='qwer'

host3 ansible_ssh_user='root' ansible_ssh_pass='qwer'

host4 ansible_ssh_user='root' ansible_ssh_pass='qwer'

host5 ansible_ssh_user='root' ansible_ssh_pass='qwer'

測試:# ansible webserver -m ping -o

分組:[webserver]

host[1:5] ansible_ssh_user='root' ansible_ssh_pass='qwer'

問題: 使用者名稱和密碼不一樣怎麼辦?

1.手動新增

2.指令碼

分組:[webserver]

host1

host2

host3

host4

host5

[webserver:vars]

ansible_ssh_user='root'

ansible_ssh_pass='qwer' //一行乙個變數

分組之上再分組

[mysql]

mysql1

mysql2

[web]

web1

web1

[lvs]

mysql

web

對主機清單進行拷貝,/etc/ansible/hostlist

自定義主機列表:

# ansible -i /etc/ansible/hostlist host1 -m ping -o

模組: ping 模組

shell模組:

複製模組:

# ansible-doc copy //幫助

# ansible host1 -m copy -a 'src=/etc/hosts dest=/tmp/2.txt mode=0666'

# ansible host1 -m copy -a 'src=/etc/hosts dest=/tmp/2.txt backup=yes'

使用者模組

# ansible host1 -m user -a 'name=yunjisuan'

軟體包管理模組

服務模組

檔案模組

收集資訊模組

核心: yaml 非標記語言

標記語言: 標籤

語法:

列表:水果:

- 蘋果

名字: 富士山蘋果

**: 4.5/斤

顏色: 紅色

- 香蕉

- 榴蓮

字典:蘋果:

名字: 富士山蘋果

**: 4.5/斤

顏色: 紅色

模組: 一行一行寫的,如果執行一整套的配置呢?

目的: 通過yaml編寫乙個劇本,完成web的部署,配置,啟動全過程

劇本:# vim apache.yaml

執行yaml這個劇本:

# ansible-playbook apache.yaml

# ansible-playbook apache.yaml --syntx-check

# ansible-playbook apache.yaml --list-hosts

# ansible-playbook apache.yaml --list-tasks

自動化運維工具 ansible

ansible ansible 一 簡介和部署 ansible 二 主機清單管理 ansible 三 配置和命令集 ansible 四 常用模組 ansible 五 palybooks劇本 ansible 彙總 ansible 中文權威指南 本部落格 至 小左先森的部落格 ansible ansib...

ansible 自動化運維工具

ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible...

自動化運維工具ansible簡介

ansible是一款無需在被管理主機上安裝客戶端,基於ssh對多台目標主機進行同時操作的輕量級的管理軟體,借助各個內部的功能模組,實現了批量系統配置 批量程式部署 批量執行命令等功能。安裝 yum install ansible命令使用 usage ansible options 常用選項 m mo...