1. 程式人生 > >Ansible簡介、自動化介紹

Ansible簡介、自動化介紹

調用 模板 owin 系統 ins 多臺 用戶 防火墻 agent

1)什麽是Ansible?
Ansible是一款開源的配置管理和編配的實用程序,可以對遠程主機與虛擬機進行自動化與標準化配置
編配功能使Ansible能夠協調多層級的應用的啟動和關閉
管理員可以創建play,執行一系列的任務,作用與play中指定的一臺或一組主機
包含多個play的文件成為playbook
ansible的架構是無代理的。當ansible執行時,將推送到遠程主機上執行
Modules是執行play中任務的程序。ansible附帶了數百個核心模塊
ansible非常易用。在python基礎上構建。ansible受到Vagrant和Jenkins等多種Devops工具的支持
2)ansible的不足:
ansible可以在安裝中添加軟件包,但無法執行系統的初始最小安裝
ansible可以糾正配置偏差,但不能對此進行監控
ansible不能跟蹤系統上的文件出現更改,建議通過版本控制軟件或審計系統進行跟蹤
3)Ansible的概念與架構:
ansible架構中有兩種計算機類型:控制節點與受管主機
ansible軟件安裝在控制節點上,所有組件也在控制節點上維護
受管主機列在主機清單文本文件中,位於控制節點上,含有受管主機名稱或域IP列表
ansible使用SSH域受管主機進行通訊。playbook中運用的模塊將復制到受管主機,然後使用playbook指定參數順序執行
用戶可按需自定義模塊,但ansible的核心模塊能夠執行大部分系統管理任務
4)控制節點的角色與要求
● 系統管理員
● Ansible安裝在控制節點,並進行維護
● 支持python2.6以上
● 對於紅帽Linux需安裝Ansible及其依賴包
● Windows目前不支持控制節點

4-1)受管主機角色與要求
● 受管主機是Ansible登錄,安裝模塊並執行遠程命令進行配置任務的系統
● Ansible使用SSH與受管主機通信,因此必須有openssl和配置ssh允許
● 建議python2.5以上版本
● RHEL6、7

5)Ansible用例
● Ansible可以部署和遠程操控遠程主機的配置文件。這些文件為靜態的,也可利用模板實時創建
● Ansible也可以用作多節點的部署工具

● playbook可以定義遠程計算機上的安裝和配置的應用。可以統一構建playbook,將他應用到多臺計算機上
● 按照Ansible的規則編配多節點應用
● 運行臨時(ad-hoc)命令,使Ansible在遠程主機上執行

6)CHOOSE~

1.which of the following programming languages is ansible built on?
python
2.which of the following terms best describes ansible‘s architecture?
Agentless
3.what us the network protocol that ansible users, by default, to communicate with managed nodes?
SSH
4.which of the following files define the actions ansible performs on managed nodes?
playbook
5.what syntax is used to define ansible playbooks?
YAML
1
2
3
4
5
6
7
8
9
10
11
12
6)Ansible部署
● ansible可簡化服務器上的軟件配置
● 當ansible訪問受管主機,可以探查運行的RHEL版本
● ansible playbook可用於同意構建開發、測試和生產服務器
● kickstart可以準備好符合條件的裸機服務器,讓ansible的接管並搭建

7)ansible的配置方法
ansible用於完成服務器的調配。編寫playbook

  1. 配置軟件倉庫
  2. 安裝應用
  3. 修改配置文件,從版本控制器選擇性下載
  4. 防火墻開端口
  5. 啟動服務
  6. 測試工作
  7. 更新工具

8)Ansible連接插件
● 連接插件使得ansible能夠與受管主機和雲提供商通信
● 對於新版本首選SSH
● 控制節點上的openssh支持ansible的連接方式
● 最常見的做法就是通過SSH用戶秘鑰來獲取主機管理權限
● 另一種鏈接插件就是local,用於本地管理ansible,而不必實用ssh。在編寫雲服務API接口時,通常使用這一方式,ansible由本地cron調用也可使用
● paramiko ansible鏈接用於RHEL6計算機。是一個基於python的openSSH,是較舊系統的解決方案。可降低ssh開銷
● winrm ansible鏈接Windows的主機為受管主機,linux上一般不用
● ansible2引入了docker鏈接插件。docker主機可以充當ansible控制節點,其容器為受管主機,這種鏈接不需要SSH

Ansible簡介、自動化介紹