部署ansible
後記ansible是一款開源自動化平台,是乙個配置管理工具,自動化運維工具
ansible命令相當於linux命令
ansible是基於模組開發的,常用的20~30個
yaml語法是自帶語法
playbook(劇本)相當於指令碼
ansible roles(角色)一大堆指令碼
1.跨平台支援
2.人類可讀自動化: ansible提供linux,windows,unix和網路裝置的無**支援,適用於》物理、虛擬、雲和容器環境
3.完美描述應用:playbook
4.輕鬆管理版本控制:playbook是純文字,可視作源**
5.支援動態清單
6.編排可與其他系統輕鬆整合:puppet、jenkins
7.基礎架構即**
8.減少人為錯誤
任務、play和playbook設計為具有冪等性,所以在執行playbook時,
如果目標主機處於正確狀態,則不會進行任何更改。
靜態清單
每行乙個,填寫主機名或ip,如:
www.westos.org
172.25.254.250
還可以定義主機組:
[webservers]
server1.westos.org
server2.westos.org
172.25.0.1
[dbservers]
node1.westos.org
node1.westos.org
『注意:一台主機可以存在於多個主機組』
定義巢狀組
ansible主機清單可以包含多個主機組構成的組,如:
[webservers]
server1.westos.org
server2.westos.org
172.25.0.1
[dbservers]
node1.westos.org
node1.westos.org
[servers:children]
webservers
dbservers
通過範圍簡化主機規格
可以指定主機名稱或ip範圍或者數字和字母範圍
語法:[start:end]
172.25.[0:4].[0:254] (匹配172.25.0.0/24,172.25.1.0/24 …)
server[01:10].example.com (匹配server01.example.com到server20.example.com>所有主機,此方式不匹配server1,之匹配server01)
[a:c].example.com (匹配a.example.com到c.example.com)
練習配置預設清單:
[root@workstation ~]# vim /etc/ansible/hosts
servera.lab.example.com
[webservers]
serverb.lab.example.com
列出清單中所有受管主機:
[root@workstation ~]# ansible all --list-hosts
列出不屬於某個組的主機:
[root@workstation ~]# ansible ungrouped --list-hosts
列出屬於webservers組的主機
[root@workstation ~]# ansible webservers --list-hosts
自定義清單
mkdir deploy-inventory #建立清單目錄
列出主機
[root@workstation deploy-inventory]# ansible all -i inventory --list-hosts
列出未入組主機
[root@workstation deploy-inventory]# ansible ungrouped -i inventory --list-hosts
列出www組中的主機
[root@workstation deploy-inventory]# ansible www -i inventory --list-hosts
westos組包含www組和bbs組
[root@workstation deploy-inventory]# ansible westos -i inventory --list-hosts
使用臨時命令可以快速測試和更改,無需編寫playbook
1.首先使用student使用者,因為student使用者沒有寫許可權,會失敗
[root@workstation deploy-adhoc]# ansible localhost -m copy -a 『content=「westos ansible\n」 dest=/etc/motd』 -u westos
(使用copy模組,以westos使用者登入,使用root許可權,把「westos ansible」 複製給本台主機的/etc/motd檔案,–become給westos使用者提公升許可權)
以root身份執行
[root@workstation deploy-adhoc]# ansible localhost -m copy -a 『content=「westos ansible\n」 dest=/etc/motd』 -u student --become
檢視是否更改
[root@workstation deploy-adhoc]# cat /etc/motd
westos ansible
使用all引數一次更改servera和localhost
[root@workstation deploy-adhoc]# ansible all -m copy -a 『content=「westos ansible\n」 dest=/etc/motd』 -u student --become
可以看到localhost顯示success,servera顯示changed,因為localhost已經處於正確狀態
檢視[root@workstation deploy-adhoc]# ansible all -m command -a 『cat /etc/motd』 -u student
練習and記憶
ansible安裝部署
一 ansible介紹 1 簡介 ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。...
使用 Ansible 安裝部署 TiDB
tidb 作為乙個分布式資料庫,在多個節點分別配置安裝服務會相當繁瑣,為了簡化操作以及方便管理,使用自動化工具來批量部署成為了乙個很好的選擇。ansible 是基於 python 研發的自動化運維工具,糅合了眾多老牌運維工具的優點實現了批量作業系統配置 批量程式的部署 批量執行命令等功能,而且使用簡...
ansible安裝及配置
ansible安裝及準備 yum install epel release y 安裝依賴工具 yum install git python python pip y yum y install ansible 配置ansible ssh金鑰登陸 ssh keygen t rsa b 2048 回車 ...