首頁 > 軟體

在 CentOS 7 中安裝並使用自動化工具 Ansible

2020-06-16 17:51:58

Ansible是一款為類Unix系統開發的自由開源的設定和自動化工具。它用Python寫成,類似於Chef和Puppet,但是有一個不同和優點是我們不需要在節點中安裝任何用戶端。它使用SSH來和節點進行通訊。

本篇中我們將在CentOS 7上安裝並設定Ansible,並且嘗試管理兩個節點。

  • Ansible 伺服器端 – ansible.linuxtechi.com ( 192.168.1.15 )

  • 節點 – 192.168.1.9 , 192.168.1.10

 

第一步: 設定EPEL倉庫

Ansible倉庫預設不在yum倉庫中,因此我們需要使用下面的命令啟用epel倉庫。

  1. [root@ansible ~]# rpm -iUvh http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

 

第二步: 使用yum安裝Ansible

  1. [root@ansible ~]#yum install ansible

安裝完成後,檢查ansible版本:

  1. [root@ansible ~]# ansible --version

ansible-version

 

第三步: 設定用於節點鑑權的SSH金鑰

在Ansible伺服器端生成金鑰,並且複製公鑰到節點中。

  1. root@ansible ~]#ssh-keygen

ssh-keygen

使用ssh-copy-id命令來復製Ansible公鑰到節點中。

ssh-copy-id-command

 

第四步:為Ansible定義節點的清單

檔案 /etc/ansible/hosts 維護著Ansible中伺服器的清單。

  1. [root@ansible ~]#vi/etc/ansible/hosts
  2. [test-servers]
  3. 192.168.1.9
  4. 192.168.1.10

儲存並退出檔案。

主機檔案範例如下:

ansible-host

 

第五步:嘗試在Ansible伺服器端執行命令

使用ping檢查‘test-servers’或者ansible節點的連通性。

  1. [root@ansible ~]# ansible -m ping'test-servers'

ansible-ping

 

執行shell命令

例子1:檢查Ansible節點的執行時間(uptime)

  1. [root@ansible ~]# ansible -m command -a "uptime"'test-servers'

ansible-uptime

例子2:檢查節點的核心版本

  1. [root@ansible ~]# ansible -m command -a "uname -r"'test-servers'

kernel-version-ansible

例子3:給節點增加使用者

  1. [root@ansible ~]# ansible -m command -a "useradd mark"'test-servers'
  2. [root@ansible ~]# ansible -m command -a "grep mark /etc/passwd"'test-servers'

useradd-ansible

例子4:重定向輸出到檔案中

  1. [root@ansible ~]# ansible -m command -a "df -Th"'test-servers'>/tmp/command-output.txt

redirecting-output-ansible

使用Ansible批次管理遠端伺服器  http://www.linuxidc.com/Linux/2015-05/118080.htm

Ansible和Docker的作用和用法  http://www.linuxidc.com/Linux/2014-11/109783.htm

Ansible批次搭建LAMP環境 http://www.linuxidc.com/Linux/2014-10/108264.htm

Ansible :一個設定管理和IT自動化工具  http://www.linuxidc.com/Linux/2014-11/109365.htm


IT145.com E-mail:sddin#qq.com