1. 程式人生 > 實用技巧 >Ansible:簡介與基本安裝

Ansible:簡介與基本安裝

Ansible是一個綜合的強大的管理工具,他可以對多臺主機安裝作業系統,併為這些主機安裝不同的應用程式,也可以通知指揮這些主機完成不同的任務.檢視多臺主機的各種資訊的狀態等,ansible都可以通過模組的方式來完成。

1、Ansible特性

No agents:不需要再被管理節點上安裝客戶端,只要有sshd即可

No server:在服務端不需要啟動任何服務,只需要執行命令就行

No additional PKI:由於不基於ssl,所以也不基於PKI工作

Modules in any language:基於模組工作,ansible擁有眾多的模組

YAML:支援YAML語法

SSH by default:預設使用ssh控制各節點

2、Ansible的基本元件

spacer.gifwKiom1b5C5TCWCv4AAE32f_5jr0656.png

核心:ansible

核心模組(Core Modules):這些都是ansible自帶的模組

擴充套件模組(Custom Modules):如果核心模組不足以完成某種功能,可以新增擴充套件模組

外掛(Plugins):完成模組功能的補充

劇本(Playbooks):把需要完成的多個任務定義在劇本中

連線外掛(Connectior Plugins):ansible基於連線外掛連線到各個主機上,雖然ansible是使用ssh連線到各個主機的,但是它還支援其他的連線方法,所以需要有連線外掛

主機群(Host Inventory):ansible在管理多臺主機時,可以選擇只對其中的一部分執行某些操作

3、Ansible工作機制

Ansible 在管理節點將 Ansible 模組通過 SSH 協議(或者 Kerberos、LDAP)推送到被管理端執行,執行完之後自動刪除,可以使用 SVN 等來管理自定義模組及編排。

spacer.gifwKiom1b5C6yQf5DeAALfOtQONyo494.png

4、Ansible的安裝

Ansible的安裝方式有很多種,常用的安裝方法是基於yum或者原始碼,如果是基於yum安裝,需要配置epel源,然後直接執行yum -y install ansible即可。原始碼安裝配置如下:

解決依賴關係:

yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto

下載ansible:

wgethttps://github.com/ansible/ansible/archive/release1.6.1.zip

解壓安裝

unzip release1.6.1

cd ansible-release1.6.1

python setup.py build

python setup.py install

mkdir /etc/ansible

cp -r examples/* /etc/ansible


轉載於:https://blog.51cto.com/dengaosky/1852358