自動化運維繫列之Ansible的簡介與安裝

自動化運維繫列之Ansible的簡介與安裝

自動化運維工具簡介

因爲互聯網的快速發展致使產品更新換代的速度逐漸加快,這就致使運維人員的平常工做會大大增長,若是仍是按照傳統方式進行維護工做會使工做效率低下。此時,就須要部署自動化運維了,自動化運維會盡量安全、高效的完成運維人員的平常工做。mysql

自動化運維工具劃分爲兩類:一類是須要使用代理工具的,也就是基於專用的Agent程序來完成管理功能,如:Puppet、Func、Zabbix等;另外一類是不須要配置代理工具的,能夠直接基於SSH服務來完成管理功能,如:Ansible、Fabric等。web

Ansible簡介

Ansible是基於Python開發的,集合了衆多優秀運維工具的優勢,實現了批量運行命令、部署程序、配置系統等功能。默認經過ssh協議進行遠程命令執行或下發配置,無需部署任何客戶端代理軟件,從而使得自動化環境部署變得更加簡單。可同時支持多平臺主機並行管理,使得管理主機更加便捷。sql

自動化運維繫列之Ansible的簡介與安裝

以上就是Ansible基本構架組成,主要分爲六個部分:vim

Ansible core 核心引擎安全

Host inventory 主機清單:用來定義Ansible所管理的主機,默認是在Ansible的hosts配置文件中定義被管理主機,同時也支持自定義動態主機清單和指定其餘配置文件的位置。運維

Connection plugins 鏈接插件:負責和被管理主機實現通訊。除支持使用SSH鏈接被管理主機外,Ansible還支持其餘的鏈接方式,因此須要有鏈接插件將各個主機用鏈接插件鏈接到Ansible。ssh

Playbooks(yam1,jinja2) 劇本 : 用來集中定義Ansible任務的配置文件,即將多個任務定義在一個劇本中由Ansible自動執行,能夠由控制主機針對多臺被管理主機同時運行多個任務。ide

Core modules 核心模塊:是Ansible自帶的模塊,使用這些模塊將資源分發到被管理主機,使其執行特定任務或匹配特定的狀態。工具

Custom modules 自定義模塊:用於完成模塊功能的補充,可藉助相關插件完成記錄日誌、發送郵件等功能。插件

Ansible自動化運維工具的部署安裝

  • 實驗環境
角色 主機名 IP地址 組名
控制主機 CentOS7-1 172.16.10.138
被管理主機 CentOS7-2 172.16.10.147 webserver
被管理主機 CentOS7-3 172.16.10.133 mysql
  • 安裝配置yum源

yum -y install epel-release

  • 安裝Ansible工具及tree樹形圖顯示工具

yum -y install ansible tree

  • 安裝好ansible以後,能夠查看ansible的版本信息

ansible --version

自動化運維繫列之Ansible的簡介與安裝

  • 以樹形圖的方式顯示ansible的相關文件

tree /etc/ansible

自動化運維繫列之Ansible的簡介與安裝

  • 修改ansible的主機清單,將兩臺被管理主機的IP及組名添加

vim /etc/ansible/hosts

[webserver]
172.16.10.147    #將第一臺被管理主機添加至webserver組

[mysql]
172.16.10.133   #將第二臺被管理主機添加至mysql組
  • 生成密鑰對,使控制主機發送部署時免交互
ssh-keygen -t rsa
ssh-copy-id root@172.16.10.147
ssh-copy-id root@172.16.10.133

ssh-agent bask
ssh-add
相關文章
相關標籤/搜索