ansible的安裝及部署

2021-10-23 03:16:33 字數 3235 閱讀 7503

部署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 回車 ...