第1天 Ansible安裝部署

2022-05-04 13:00:09 字數 1996 閱讀 7894

ansible是乙個簡單的自動化引擎,可完成配置管理、應用部署、服務編排以及各種it需求。它是一款使用python語言開發實現的開源軟體,其依賴jinjia2paramikopyyaml這幾個python庫。

ansible安裝部署簡單,只需要再主控端部署ansible環境,被控端無須做任何操作,基於ssh進行配置管理。ansible作為自動化系統運維的一大利器,在構建整個體系過程中有這舉足輕重的地位。其簡單易用、易於安裝、功能強大、便於分享、內含大量模板等都是它的魅力所在,再加上易封裝、介面呼叫方便,ansible正在被越來越多的大公司採用。

ansible使用python語言開發,我們可以直接使用pip進行安裝,也可以用linux下的包管理工具(如yum、apt-get)進行安裝

pip install ansible   #主控端安裝即可

角色ip

主機名使用者

主控端192.168.88.1

c1.heboan.com

heboan

被控端192.168.88.2  

c2.heboan.com

heboan

被控端192.168.88.3

c3.heboan.com

heboan

主控端生成ssh證書,並分發給被控端,使得主控端可以免密連線被控端

[heboan@c1 ~]$ ssh-keygen -t rsa

[heboan@c1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.88.2[heboan@c1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.88.3

使用ansible操作遠端伺服器時 ,首先需要確定是操作哪些伺服器,然後再確定對這些伺服器執行哪些操作。ansible缺省會讀取/etc/ansible/hosts檔案中配置的伺服器列表,例如/etc/ansible/hosts檔案內容如下:

[heboan@c1 ~]$ cat /etc/ansible/hosts

[test]

192.168.88.2

192.168.88.3

ansible中存在乙個名為ping的模組,該模組並不是測試伺服器的網路連線是否正常,而是嘗試建立ssh連線,以便驗證使用者的ssh配置是否已經正確

[heboan@c1 ~]$ ansible test -m ping

192.168.88.3 | success =>

192.168.88.2 | success =>

test :代表我們定義的兩台伺服器

-m:指定了需要操作的模組

ping:s是乙個模組的名稱

ansible預設使用當前的使用者和預設的22號埠與遠端 伺服器建立ssh連線,如果需要使用其他使用者,或者非預設的ssh埠號,可以在host之後新增使用者名稱或埠號的配置

[heboan@c1 ~]$ cat /etc/ansible/hosts

[test]

192.168.88.2 ansible_user=heboan ansible_port=2202

192.168.88.3 ansible_user=heboan ansible_port=2202

一般情況下,工作環境中的伺服器ssh使用者和ssh埠都相同,如果有很多遠端伺服器,每一台伺服器都需要配置ansible_user或ansible_port引數,如果依然使用上面的方式配置,會顯得非常冗餘。ansible預設使用/etc/ansible/ansible.cfg檔案,可以設定一些預設值,這樣就不需要對同樣的內容輸入多次

[heboan@c1 ~]$ cat /etc/ansible/ansible.cfg 

[defaults]

remote_port = 2202remote_user = heboan

ansible安裝部署

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

使用 Ansible 安裝部署 TiDB

tidb 作為乙個分布式資料庫,在多個節點分別配置安裝服務會相當繁瑣,為了簡化操作以及方便管理,使用自動化工具來批量部署成為了乙個很好的選擇。ansible 是基於 python 研發的自動化運維工具,糅合了眾多老牌運維工具的優點實現了批量作業系統配置 批量程式的部署 批量執行命令等功能,而且使用簡...

ansible的安裝及部署

部署ansible 後記ansible是一款開源自動化平台,是乙個配置管理工具,自動化運維工具 ansible命令相當於linux命令 ansible是基於模組開發的,常用的20 30個 yaml語法是自帶語法 playbook 劇本 相當於指令碼 ansible roles 角色 一大堆指令碼 1...