ansible概述
是乙個配置管理系統(configuration management system),當下最流行的批量自動化運維工具之一.
常用的運維工具:ssh/puppet(ruby)/ansible(無客戶端,中小規模)(python)/saltstack(master-minion)(python)大規模
ansible的作用
批量部署,服務安裝,日常備份
ansible官方文件
ansible的特性
無客戶端軟體,通過ssh遠端管理
安裝後不需要啟動服務
依賴大量的python模組擴充套件功能
配置檔案:/etc/ansible/ansible.cfg
ansible基礎架構
連線外掛程式(connecter plugins):用來連線主機,連線被管理端
核心模組(core modules):連線主機,實現操作,依賴於具體模組來執行
自定義模組:使用者自己開發的功能模組
劇本(playbook):將多個任務組合成乙個劇本,由ansible自動批量執行
主機清單(host inventory):定義ansible管理的客戶端主機範圍
ansible的命令格式:
ansible 主機清單名 -m 呼叫的模組 -a 動作命令
1.安裝ansible
(1)先配epel源:
epel源(擴充套件包):wget -o /etc/yum.repos.d/epel.repo
linux映象源(組包):wget -o /etc/yum.repos.d/centos-base.repo
(2)安裝ansible yum -y install ansible
檢視版本 ansible --version
2.配置清單
vim /etc/ansible/hosts
新增:[web1]
192.168.1.112
[web2]
192.168.1.113
[web3]
192.168.1.114
[benet:children]
web1
web2
web3
儲存退出
3.在ansible上配置ssh秘鑰對訪問
ssh-keygen -t rsa
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
呼叫模組顏色顯示:
翔黃色 更改成功
帽綠色 沒有更改
深紅色 錯誤
亮紫色 警告
列出所有模組
ansible-doc --list
1.command #僅支援簡單語法命令,但語句中不能包含管道符等複雜元素
ansible web -m command -a "hostname"
ansible web -m command -a "useradd zhangsan"
2.shell #command公升級版,支援複雜語句,但不支援別名
注釋:name 安裝的軟體包名,多個軟體","分開
state 服務狀態
installed,present 安裝軟體包
removed,absent 解除安裝軟體包
latest 安裝最新軟體包
4.copy
ansible benet -m copy -a "src=/etc/hosts dest=/etc/hosts backup=yes"
注釋:src 原始檔路徑
dest 目標檔案路徑
backup 覆蓋到目標檔案前,是否提前備份
content 新增檔案內容
group 指定屬組
owner 指定屬主
mode 指定許可權
Ansible簡單安裝
系統centos7.3 ip位址192.168.1.10 安裝ansible yum install epel release y yum install ansible y ssh部分 配置ssh免密碼登陸,若是用普通使用者請在普通使用者下建立ssh金鑰.且ssh統一使用乙個賬號.ssh keyg...
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 一 安裝與簡單測試
安裝阿里雲epel wget o etc yum.repos.d epel.repo 安裝ansible yum install ansible y 生成金鑰,密碼為空 ssh keygen t rsa p 將公鑰上傳至指定伺服器 ssh copy id i ssh id rsa.pub user ...