Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ansible 介紹
Search
williamwu
April 18, 2014
Technology
0
260
Ansible 介紹
如何使用 Ansible 管理大量機器
williamwu
April 18, 2014
Tweet
Share
Other Decks in Technology
See All in Technology
実践! ソフトウェアエンジニアリングの価値の計測 ── Effort、Output、Outcome、Impact
nomuson
0
700
ヤプリQA課題の見える化
gu3
0
140
12 Days of OpenAIから読み解く、生成AI 2025年のトレンド
shunsukeono_am
0
970
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
1
320
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
iwamot
2
190
Agentic RAG with LangGraph
atsushii
0
110
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
1.6k
最近のSfM手法まとめ - COLMAP / GLOMAPを中心に -
kwchrk
8
1.7k
mixi2 の技術スタックを探ってみる (アプリ編)
ichiki1023
0
110
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
1
4.9k
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
650
OPENLOGI Company Profile
hr01
0
57k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Side Projects
sachag
452
42k
How to train your dragon (web standard)
notwaldorf
88
5.8k
Being A Developer After 40
akosma
89
590k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
Practical Orchestrator
shlominoach
186
10k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Designing for Performance
lara
604
68k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Music & Morning Musume
bryan
46
6.3k
Transcript
Ansible 簡介 吳佳寰 <
[email protected]
>
⾃自我揭露 • ⾃自由軟體愛好者 • 對於技術某些時候有點偏執 • 不認同請忽略,我講的也不⼀一定是對的
阿宅的⼀一天 • 修電腦 • 維護作業系統(安裝、升級) • 維護網站(安裝、升級) • 維護網路 •
資訊教學(推展、課程) • 設備採購
本次討論範圍 • 修電腦 • 維護作業系統(安裝、升級) • 維護網站(安裝、升級) • 維護網路 •
資訊教學(推展、課程) • 設備採購
分析⽇日常⼯工作 • 維護系統 • 安裝(耗時、⾮非急迫、重要) • 升級(耗時、急迫、重要) • 備份(不耗時、⾮非急迫、重要) •
還原(不耗時、急迫、重要)
分析⽇日常⼯工作 • 維護網站 • 安裝(耗時、⾮非急迫、重要) • 升級(耗時、急迫、重要、複雜) • 備份(不耗時、⾮非急迫、重要) •
還原(不耗時、急迫、重要)
如何減輕⼯工作負擔 1. ⾃自動化 2. ⾃自動化 3. ⾃自動化 4. ⾃自動化 5.
⾃自動化 6. ⾃自動化
Ansible是... • Configuration Management Software • 組態管理軟體 • 這可以吃嗎?
先不要管Ansible了,你 聽過安麗shell scripts嗎
⼈人⼯工安裝版 <安裝apache2> 1. ssh <yourname>@<remote_host> 2. sudo aptitude update &&
sudo aptitude install apache2 -y 3. <wait and see> 4. exit
半⾃自動安裝版 <安裝apache2> 1. <寫好script> 2. scp your_scripts.sh <your_name>@<remote_host> 3. ssh
<your_name>@<remote_host> 4. sudo ./your_script.sh 5. <wait and see> 6. exit
your_script.sh sudo aptitude update if [ ! $? -eq 0
]; then echo "Update error" exit 1 fi sudo aptitude install apache2 -y if [ ! $? -eq 0 ]; then echo "Install Apache2 error" exit 2 fi echo "Install completed."
Ansible版<安裝apache2> install_apache2.yml --- - hosts: all sudo: yes tasks: -
name: install apache2 apt: pkg=apache2 update_cache=yes
Ansible版 執⾏行安裝任務 • ansible-playbook install_apache2.yml • 結束
Live Demo <更新所有系統⾄至最新版>
安裝Ansible The Hard Way • aptitude update • aptitude install
python-dev python-virtualenv python-pip -y • virtualenv myvenv • source myvenv/bin/activate • pip install ansible
定義 /etc/ansible/hosts localhost ansible_connection=local [webservers] 192.168.1.1 192.168.1.2 [dnsservers] 192.168.1.3 192.168.1.4
使⽤用 ansible執⾏行簡單指令 ansible all —ask-pass —sudo -m shell -a “aptitude
update” ansible webservers —ask-pass —sudo -m shell -a “aptitude install apache2 -y” ansible dnsservers —sudo -m shell -a “reboot”
學會ansible命令 就可以上⼯工了 等你習慣了再來玩 playbook
Ansible Playbook 撰寫 yaml 檔案組織任務
playbook 範例 —- - hosts: all tasks: - name: run
my own script script: runmyscript.sh - name: reboot the system shell: reboot
更多進階討論請加⼊入 irc.freenode.net #osatfe
FAQ • Q: 所以學會了Ansible,就可以不⽤用懂shell script 是嗎? • Q: 所以學了Ansible,我就可以不⽤用懂套件管理 嗎?
• Q: 所以Ansible到底是要解決什麼問題?
Any questions?