Enviar búsqueda
Cargar
Automate with Ansible basic (2/e)
•
2 recomendaciones
•
469 vistas
Chu-Siang Lai
Seguir
Ansible basic training (2nd). * 1st: https://www.slideshare.net/freezejonny/it-ansible
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 43
Descargar ahora
Descargar para leer sin conexión
Recomendados
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Chu-Siang Lai
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Chu-Siang Lai
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Chu-Siang Lai
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
Chu-Siang Lai
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Chu-Siang Lai
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Chu-Siang Lai
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
Wen-Tien Chang
Koa 正在等一個人
Koa 正在等一個人
Fred Chien
Recomendados
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
Chu-Siang Lai
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Chu-Siang Lai
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Chu-Siang Lai
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
Chu-Siang Lai
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Chu-Siang Lai
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Chu-Siang Lai
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
Wen-Tien Chang
Koa 正在等一個人
Koa 正在等一個人
Fred Chien
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
scott liao
浮云脱水小说站的搭建
浮云脱水小说站的搭建
jondynet
認識那條鯨魚 Docker 初探
認識那條鯨魚 Docker 初探
仲昀 王
善用工具
善用工具
wang hongjiang
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
Node js实践
Node js实践
jay li
Shell,信号量以及java进程的退出
Shell,信号量以及java进程的退出
wang hongjiang
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
MarsZ Chen
DAE
DAE
Qiangning Hong
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
MarsZ Chen
Software Engineer Talk
Software Engineer Talk
Larry Cai
台北市研習_LAMP_20140815
台北市研習_LAMP_20140815
fweng322
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)
振揚 陳
Phpconf 2011 introduction_to_codeigniter
Phpconf 2011 introduction_to_codeigniter
Bo-Yi Wu
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
Joseph Chiang
Docker一期培训
Docker一期培训
青帅 常
Http cache 的優化
Http cache 的優化
振揚 陳
Node.js长连接开发实践
Node.js长连接开发实践
longhao
Effective linux.2.(tools)
Effective linux.2.(tools)
wang hongjiang
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Chu-Siang Lai
Ansible 101
Ansible 101
YI-CHING WU
Más contenido relacionado
La actualidad más candente
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
scott liao
浮云脱水小说站的搭建
浮云脱水小说站的搭建
jondynet
認識那條鯨魚 Docker 初探
認識那條鯨魚 Docker 初探
仲昀 王
善用工具
善用工具
wang hongjiang
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
Node js实践
Node js实践
jay li
Shell,信号量以及java进程的退出
Shell,信号量以及java进程的退出
wang hongjiang
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
MarsZ Chen
DAE
DAE
Qiangning Hong
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
MarsZ Chen
Software Engineer Talk
Software Engineer Talk
Larry Cai
台北市研習_LAMP_20140815
台北市研習_LAMP_20140815
fweng322
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)
振揚 陳
Phpconf 2011 introduction_to_codeigniter
Phpconf 2011 introduction_to_codeigniter
Bo-Yi Wu
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
Joseph Chiang
Docker一期培训
Docker一期培训
青帅 常
Http cache 的優化
Http cache 的優化
振揚 陳
Node.js长连接开发实践
Node.js长连接开发实践
longhao
Effective linux.2.(tools)
Effective linux.2.(tools)
wang hongjiang
La actualidad más candente
(20)
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
浮云脱水小说站的搭建
浮云脱水小说站的搭建
認識那條鯨魚 Docker 初探
認識那條鯨魚 Docker 初探
善用工具
善用工具
合久必分,分久必合
合久必分,分久必合
Node js实践
Node js实践
Shell,信号量以及java进程的退出
Shell,信号量以及java进程的退出
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
DAE
DAE
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
Software Engineer Talk
Software Engineer Talk
台北市研習_LAMP_20140815
台北市研習_LAMP_20140815
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)
Phpconf 2011 introduction_to_codeigniter
Phpconf 2011 introduction_to_codeigniter
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
Docker一期培训
Docker一期培训
Http cache 的優化
Http cache 的優化
Node.js长连接开发实践
Node.js长连接开发实践
Effective linux.2.(tools)
Effective linux.2.(tools)
Similar a Automate with Ansible basic (2/e)
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Chu-Siang Lai
Ansible 101
Ansible 101
YI-CHING WU
Learning python in the motion picture industry by will zhou
Learning python in the motion picture industry by will zhou
Will Zhou
Puppet安装总结
Puppet安装总结
Yiwei Ma
JavaScript 80+ Programming and Optimization Skills
JavaScript 80+ Programming and Optimization Skills
Ho Kim
Vim hacks
Vim hacks
XuYj
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
czzz1
Python 于 webgame 的应用
Python 于 webgame 的应用
勇浩 赖
開發流程與工具介紹
開發流程與工具介紹
Shengyou Fan
為什麼 App 卡卡的
為什麼 App 卡卡的
鈺翔 林
網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area
Orange Tsai
Docker tutorial
Docker tutorial
azole Lai
Strace debug
Strace debug
luo jing
Mysql mmm演讲--冯浩
Mysql mmm演讲--冯浩
chinafenghao
Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩
chinafenghao
Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩
chinafenghao
利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版
xingsu1021
Bash入门基础篇
Bash入门基础篇
Zhiyao Pan
IOS入门分享
IOS入门分享
zenyuhao
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Chu-Siang Lai
Similar a Automate with Ansible basic (2/e)
(20)
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
Ansible 101
Ansible 101
Learning python in the motion picture industry by will zhou
Learning python in the motion picture industry by will zhou
Puppet安装总结
Puppet安装总结
JavaScript 80+ Programming and Optimization Skills
JavaScript 80+ Programming and Optimization Skills
Vim hacks
Vim hacks
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
Python 于 webgame 的应用
Python 于 webgame 的应用
開發流程與工具介紹
開發流程與工具介紹
為什麼 App 卡卡的
為什麼 App 卡卡的
網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area
Docker tutorial
Docker tutorial
Strace debug
Strace debug
Mysql mmm演讲--冯浩
Mysql mmm演讲--冯浩
Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩
Mysql mmm演讲-冯浩
利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版
Bash入门基础篇
Bash入门基础篇
IOS入门分享
IOS入门分享
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Más de Chu-Siang Lai
My DevOps Tour 2.3
My DevOps Tour 2.3
Chu-Siang Lai
The System Engineer in Agile Team
The System Engineer in Agile Team
Chu-Siang Lai
Is it really easy for companies to import Ansible automation
Is it really easy for companies to import Ansible automation
Chu-Siang Lai
My DevOps Tour 0.1
My DevOps Tour 0.1
Chu-Siang Lai
See the Agile from Mindset
See the Agile from Mindset
Chu-Siang Lai
Writing skills for Information Technology
Writing skills for Information Technology
Chu-Siang Lai
My DevOps Tour 1.0
My DevOps Tour 1.0
Chu-Siang Lai
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Chu-Siang Lai
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Chu-Siang Lai
Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)
Chu-Siang Lai
前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧
Chu-Siang Lai
Git and Github basic with SourceTree
Git and Github basic with SourceTree
Chu-Siang Lai
helloTux 2012
helloTux 2012
Chu-Siang Lai
Unity & Googlizer
Unity & Googlizer
Chu-Siang Lai
使用 Multi-sites 技術快速建置多 Drupal 網站
使用 Multi-sites 技術快速建置多 Drupal 網站
Chu-Siang Lai
歡迎來到 Ubuntu 9.10 Release Party (台中)
歡迎來到 Ubuntu 9.10 Release Party (台中)
Chu-Siang Lai
無痛入門 Chromecast
無痛入門 Chromecast
Chu-Siang Lai
Ubuntu 藍星侵略計劃
Ubuntu 藍星侵略計劃
Chu-Siang Lai
Intro of Network, WiFi on Ubuntu
Intro of Network, WiFi on Ubuntu
Chu-Siang Lai
Más de Chu-Siang Lai
(19)
My DevOps Tour 2.3
My DevOps Tour 2.3
The System Engineer in Agile Team
The System Engineer in Agile Team
Is it really easy for companies to import Ansible automation
Is it really easy for companies to import Ansible automation
My DevOps Tour 0.1
My DevOps Tour 0.1
See the Agile from Mindset
See the Agile from Mindset
Writing skills for Information Technology
Writing skills for Information Technology
My DevOps Tour 1.0
My DevOps Tour 1.0
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)
前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧
Git and Github basic with SourceTree
Git and Github basic with SourceTree
helloTux 2012
helloTux 2012
Unity & Googlizer
Unity & Googlizer
使用 Multi-sites 技術快速建置多 Drupal 網站
使用 Multi-sites 技術快速建置多 Drupal 網站
歡迎來到 Ubuntu 9.10 Release Party (台中)
歡迎來到 Ubuntu 9.10 Release Party (台中)
無痛入門 Chromecast
無痛入門 Chromecast
Ubuntu 藍星侵略計劃
Ubuntu 藍星侵略計劃
Intro of Network, WiFi on Ubuntu
Intro of Network, WiFi on Ubuntu
Automate with Ansible basic (2/e)
1.
[ chusiang@l9k ~
] $ cat .profile # Author: 凍仁翔 / chusiang (at) drx.tw # Blog: http://note.drx.tw # Modified: 2017-03-09 15:54 2/e
2.
關於我 • 凍仁翔 (@chusiang_lai)。 •
1 年年以上的 Ansible 使⽤用經驗。 • ⽬目前有在維護的 Roles: • php7 (php-fpm) • switch-apt-mirror • vim-and-vi-mode • zabbix-agent 2
3.
坐穩囉 要開始了了! 3
4.
Outline I. 現代 IT
⼈人是什什麼? 4
5.
Outline I. 現代 IT
⼈人是什什麼? II. 導入⾃自動化組態的好處是什什麼? 5
6.
Outline I. 現代 IT
⼈人是什什麼? II. 導入⾃自動化組態的好處是什什麼? III. Ansible 是什什麼? 6
7.
Outline I. 現代 IT
⼈人是什什麼? II. 導入⾃自動化組態的好處是什什麼? III. Ansible 是什什麼? IV. 怎麼部署 Ansible 環境? 7
8.
Outline I. 現代 IT
⼈人是什什麼? II. 導入⾃自動化組態的好處是什什麼? III. Ansible 是什什麼? IV. 怎麼部署 Ansible 環境? V. 怎麼操作 Ansible? 8
9.
Outline I. 現代 IT
⼈人是什什麼? II. 導入⾃自動化組態的好處是什什麼? III. Ansible 是什什麼? IV. 怎麼部署 Ansible 環境? V. 怎麼操作 Ansible? VI. Q & A 9
10.
Ⅰ. 現代 IT
⼈人是什什麼? 10 DevOps
11.
現代 IT ⼈人是什什麼? 11 以前的
IT ⼈人 現代的 IT ⼈人 從裝機到架站 需耗費數⼩小時 (hr) 不⽤用 30 分 (min) 上班 每天敲敲指令、裝裝機器, 常常忘了了改過什什麼 寫 code 當總統 寫 code 管機器 下班 寫不完的⼯工作⽇日記 幫⾃自⼰己寫⼯工具 (為了了提早下班)
12.
Ⅱ. 導入⾃自動化組態的好處是什什麼? 12 ※ 註:組態
= Configuration management (CM)
13.
導入 Ansible ⾃自動化組態, 我們可以減少服務中斷時間 、測試基礎建設、降低意外 風險,更更可以讓開發、測試 和正式環境無縫接軌。 圖片來來源
- Ansible as Automation Glue 13
14.
"⼯工⼈人" 組態 ⾃自動化組態 重複組態的⼈人⼒力力成本
⾼高 低 ⼈人為失誤風險 ⾼高 低 可測試性 難 易易 模組化 難 易易 提早下班 難 易易 導入⾃自動化組態的好處是什什麼? 14
15.
Ⅲ. Ansible 是什什麼? 15
16.
Ansible 取名⾃自知名⼩小說 《安德的遊戲》,是 虛構的超光速通訊裝置。 有了了它我們就可以像 Ender 指揮戰艦般的操控伺服器。 電影海海報
- https://goo.gl/4xftZT 16
17.
Ansible 是近年年來來知名度不 斷上升的 DevOps
⾃自動化 軟體,雖然⾃自 2013 年年創立⾄至 今不到 4 年年,但由於其採⽤用 無代理理程式的架構,部署 靈活,程式碼易易讀,因⽽而 迅速成為受矚⽬目的 DevOps ⼯工具。 iThome - http://goo.gl/yJbWtz 17
18.
Ansible 是什什麼? • 與
Puppet, SaltStack, Chef 並列列其四的⾃自動化組態設定 ⼯工具 (Infrastructure as Code),其簡單易易⽤用的特性讓⼈人⼀一 ⽤用就愛上,在 DevOps 界也佔有⼀一席之地。 • 使⽤用 Push 架構,只需 Python 和 SSH 即可操作,不⽤用額 外裝 Angent。 • Python 陣營的組態設定⼯工具。 18
19.
Ⅳ. 怎麼部署 Ansible
環境? 19 觀念念、安裝、設定
20.
Ansible 是怎麼運作的? 透過 inventory
定義 Managed node,並藉由 SSH 與 Python 進⾏行行溝通。 20
21.
怎麼安裝 Ansible? • 只需在
Control Machine 安裝 Ansible;Managed node 則要有 Python 2.5+ 和 SSH。 21 # Debian & Ubuntu (apt). $ sudo apt-get install ansible # RHEL & CentOS (yum). $ sudo yum install ansible # Mac OS X (homebrew). $ brew install ansible # Python (pip). $ sudo pip install ansible
22.
怎麼設定 Ansible? • 藉由
ansible.cfg 來來設定 inventory (host file) 檔案路路徑、 Managed node (被控端) 使⽤用者名稱、SSH ⾦金金鑰 … 等。 22 $ vim ansible.cfg [defaults] # 指定 inventory 檔案路路徑。 hostfile = hosts # 遠端使⽤用者名稱 remote_user = docker #private_key_file = ~/.ssh/id_rsa # host_key_checking: 不詢問加入 ssh ⾦金金鑰 host_key_checking = False
23.
inventory 是什什麼? • 主要⽤用來來定義
Managed node (被控端) 主機位址與群組, 也可⽤用來來設定 ssh 連線資訊。 23 $ vim hosts # ansible_ssh_host: 遠端 SSH 主機位址。 # ansible_ssh_port: 遠端 SSH 埠⼝口 (Port)。 # ansible_ssh_user: 遠端 SSH 使⽤用者名稱。 # ansible_ssh_private_key_file: 本機 SSH 私鑰檔路路徑。 # ansible_ssh_pass: 遠端 SSH 密碼 (建議改⽤用私鑰)。 [dev] ansible-demo ansible_ssh_host=127.0.0.1 ansible_ssh_pass=pwd [test] ansible-test ansible_ssh_host=172.10.10.1 ansible_ssh_port=2222 [prod] ansible-prod ansible_ssh_host=10.10.10.1 ansible_ssh_user=deploy
24.
Ⅴ. 怎麼操作 Ansible? 24 Ad-Hoc
command, Playbook* (Module)
25.
Ad-Hoc command and 25 Playbook
26.
Ad-Hoc command 是什什麼? •
簡短 (臨臨時性) 的指令,與⼀一般的 command line 操作模式 雷同,⼀一次只透過⼀一⾏行行指令進⾏行行操作。 26 # ⼀一般的 command line $ ping ansible-demo.local PING localhost (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.037 ms --- localhost ping statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.037/0.037/0.037/0.000 ms $ echo Hello World Hello World
27.
Ad-Hoc command 是什什麼? •
Ansible -m 後的各項參參數請參參考官⽅方⽂文件 - Module Index。 27 # ansible <主機名稱> -m <各項參參數> $ ansible all -m ping ansible-demo.local | SUCCESS => { "changed": false, "ping": "pong" } $ ansible all -m command -a "echo Hello World" ansible-demo.local | SUCCESS | rc=0 >> Hello World
28.
Playbooks 是什什麼? • 比
Shell Script 更更具結構化的腳 本語⾔言,是⼀一鍵部署的好物。 • 使⽤用 YAML 格式,寫 code 就 如同寫⽂文件,簡單易易讀。 • 通常會有 Play, Task, Module。 • 可使⽤用 Jinja2 (template 系統) 表達式,並⽀支援變數、判斷式 、迴圈等語法。 Baby Playbook Onesie - http://goo.gl/GKJvXn 28
29.
Playbooks 是什什麼? • ⼀一份
Playbook 可以有多個 Play 和 多個 Tasks。 • 此例例⽤用到了了 Play*1, Task*3 和 Module*3 (command, apt, lineinfile)。 29 $ vim example.yml --- - name: This is a Super-basic playbook. hosts: all tasks: - name: Hello World command: echo "Hello World" - name: Install Vim & Emacs become: yes apt: name={{ item }} state=present with_items: - vim - emacs # 去去,emacs 走。 - name: use vi-mode in readline become: yes lineinfile: dest=/etc/inputrc line="set editing-mode vi"
30.
Playbooks 是什什麼? • ⼀一份
Playbook 可以有多個 Play 和 多個 Tasks。 • 此例例⽤用到了了 Play*1, Task*3 和 Module*3 (command, apt, lineinfile)。 30 $ vim example.yml --- - name: This is a Super-basic playbook. hosts: all tasks: - name: Hello World command: echo "Hello World" - name: Install Vim & Emacs become: yes apt: name={{ item }} state=present with_items: - vim - emacs # 去去,emacs 走。 - name: use vi-mode in readline become: yes lineinfile: dest=/etc/inputrc line="set editing-mode vi" Play
31.
Playbooks 是什什麼? • ⼀一份
Playbook 可以有多個 Play 和 多個 Tasks。 • 此例例⽤用到了了 Play*1, Task*3 和 Module*3 (command, apt, lineinfile)。 31 $ vim example.yml --- - name: This is a Super-basic playbook. hosts: all tasks: - name: Hello World command: echo "Hello World" - name: Install Vim & Emacs become: yes apt: name={{ item }} state=present with_items: - vim - emacs # 去去,emacs 走。 - name: use vi-mode in readline become: yes lineinfile: dest=/etc/inputrc line="set editing-mode vi" Task 1 Task 2 Task 3
32.
Playbooks 是什什麼? • ⼀一份
Playbook 可以有多個 Play 和 多個 Tasks。 • 此例例⽤用到了了 Play*1, Task*3 和 Module*3 (command, apt, lineinfile)。 32 $ vim example.yml --- - name: This is a Super-basic playbook. hosts: all tasks: - name: Hello World command: echo "Hello World" - name: Install Vim & Emacs become: yes apt: name={{ item }} state=present with_items: - vim - emacs # 去去,emacs 走。 - name: use vi-mode in readline become: yes lineinfile: dest=/etc/inputrc line="set editing-mode vi" Module
33.
Playbooks 是什什麼? • 執⾏行行
example.yml playbook。 33 $ ansible-playbook example.yml PLAY [This is a Super-basic playbook.] ***************************************** TASK [setup] ******************************************************************* ok: [ansible-demo.local] TASK [Hello World] ************************************************************* changed: [ansible-demo.local] TASK [Install Vim & Emacs] ***************************************************** changed: [ansible-demo.local] => (item=[u'vim', u'emacs']) TASK [use vi-mode in readline] ************************************************* changed: [ansible-demo.local] PLAY RECAP ********************************************************************* ansible-demo.local : ok=4 changed=3 unreachable=0 failed=0
34.
Playbooks 是什什麼? • 執⾏行行
example.yml playbook。 34 $ ansible-playbook example.yml PLAY [This is a Super-basic playbook.] ***************************************** TASK [setup] ******************************************************************* ok: [ansible-demo.local] TASK [Hello World] ************************************************************* changed: [ansible-demo.local] TASK [Install Vim & Emacs] ***************************************************** changed: [ansible-demo.local] => (item=[u'vim', u'emacs']) TASK [use vi-mode in readline] ************************************************* changed: [ansible-demo.local] PLAY RECAP ********************************************************************* ansible-demo.local : ok=4 changed=3 unreachable=0 failed=0 Setup 總結 (Recap)
35.
Module 35
36.
http://docs.ansible.com/ansible/list_of_commands_modules.html
37.
38.
Docs » commands
Modules 有 yes 就⼀一定要⽤用
39.
實 戰 演
練 Practice 39
40.
請⾄至 https://goo.gl/EYJ40O 取得
Control Machine*1、Managed node*2 之練習環境。 透過 Ansible 和 Jupyter 操控 Managed node 40
41.
42.
Q & A 嚴禁拍打餵食 42
43.
E N D
Descargar ahora