Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
現代 IT 人一定要知道的 Ansible 自動化組態技巧 (簡報大綱)

現代 IT 人一定要知道的 Ansible 自動化組態技巧 (簡報大綱)

  1. 現代 IT 人一定要知道的 Ansible 自動化組態技巧

  2. 關於凍仁翔

  • 4 年以上 IT 經驗。
  • 現職 DrSays IT 工程師。
  • Ansible 實戰講堂 4e. 學員。
  • 於 Ansible Galaxy 分享 Roles:
    • php7 (php-fpm)
    • switch-apt-mirror
    • vim-and-vi-mode
    • zabbix-agent
    • CVE-2016-3714
  1. 坐穩囉
  • 要開始了!
  1. Outline
  • 現代 IT 人是什麼?
  • 導入自動化組態的好處是什麼?
  • Ansible 是什麼?
  • 怎麼部署 Ansible 環境?
  • 怎麼操作 Ansible?
  • Q & A
  1. Ⅰ. 現代 IT 人是什麼?

  2. Ⅱ. 導入自動化組態的好處是什麼?

  • 導入 Ansible 自動化組態,我們除了可以減少服務中斷時間、測試基礎建設、降低意外風險,更可以讓開發、測試和正式環境無縫接軌。
  • 導入自動化組態的好處是什麼?
  1. Ⅲ. Ansible 是什麼?
  • Ansible 取名自知名小說《戰爭遊戲》,是一款能跨越時空的即時通訊工具。
  • Ansible 是近年來知名度不斷上升的 DevOps 自動化軟體,雖然自 2013 年創立至今不到 3 年,但由於其採用
無代理程式的架構,部署靈活,程式碼易讀,因而迅速成為受矚目的 DevOps 工具。
  • 與 Puppet, Salt, Chef 並列其四的自動化組態設定工具 (Infrastructure as Code),其簡單易用的特性讓人一用就愛上,在 DevOps 界也佔有一席之地。
  • 使用 Push 架構,只需 Python 和 SSH 即可操作,不用額外裝 Angent。

  1. Ⅳ. 怎麼部署 Ansible 環境?
  • Ansible 是怎麼運作的?
    • 透過 inventory 定義 Managed node,並藉由 SSH 與 Python 進行溝通。
  • 怎麼安裝 Ansible?
    • 只需在 Control Machine 安裝 Ansible;Managed node 則要有 Python 2.5+ 和 SSH。
  • 怎麼設定 Ansible?
    • 藉由 ansible.cfg 來設定 inventory (host file) 檔案路徑、Managed node (被控端) 使用者名稱、SSH 金鑰 … 等。
  • inventory 是什麼?
    • 主要用來定義 Managed node (被控端) 主機位址與群組,也可用來設定 ssh 連線資訊。
  1. Ⅴ. 怎麼操作 Ansible?
  • Ad-Hoc command, Playbook* (Module, Galaxy), Ansible Tower
  • Ad-Hoc command 是什麼?
    • 簡短 (臨時性) 的指令,與一般的 command line 操作模式雷同,一次只透過一行指令進行操作。
    • Ansible -m 後的各項參數請參考官方文件 - Module Index。
  • Playbooks 是什麼?
    • 一鍵部署的強大武器,比 Shell Script 更具結構化的腳本語言。
    • 使用 YAML 格式,寫 code 就如同寫文件,簡單易讀。
    • 可使用 Jinja2 (template 系統) 表達式,並支援變數、判斷式、迴圈 ... 等語法。
    • 一份 Playbook 可以有多個 Play 和 多個 Tasks。此例用到了 Play1, Task3 和 Module*3 (command, apt, lineinfile)。
 - 執行 example.yml playbook。
  1. 火 力 展 示
  • Not Live Demo
  1. 如果還有時間 | 如果沒有時間

  2. Module

  • 您選擇了 "時間 OK" …
  1. Galaxy

  2. 參考文獻

  1. 圖片來源
  1. 工商服務
  1. Q & A

  2. The END

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.