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...