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
ハーネスエンジニアリング×AI適応開発
aictokamiya
1
370
Agent Skill 是什麼?對軟體產業帶來的變化
appleboy
0
240
Phase05_ClaudeCode入門
overflowinc
0
2.4k
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
470
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
120
脳が溶けた話 / Melted Brain
keisuke69
1
1.1k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
76k
昔話で振り返るAWSの歩み ~S3誕生から20年、クラウドはどう進化したのか~
nrinetcom
PRO
0
100
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
260
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
460
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
110
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
120
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
160
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Everyday Curiosity
cassininazir
0
180
Practical Orchestrator
shlominoach
191
11k
Embracing the Ebb and Flow
colly
88
5k
Building Adaptive Systems
keathley
44
3k
Visualization
eitanlees
150
17k
The Spectacular Lies of Maps
axbom
PRO
1
650
Large-scale JavaScript Application Architecture
addyosmani
515
110k
30 Presentation Tips
portentint
PRO
1
260
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?