Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Ansible 使うとき何考えてるの/ansible-role-reuse
zinrai
February 08, 2021
Technology
0
120
Ansible 使うとき何考えてるの/ansible-role-reuse
Ansible Night in Tokyo 2019.07
https://ansible-users.connpass.com/event/135965/
zinrai
February 08, 2021
Tweet
Share
More Decks by zinrai
See All by zinrai
OKRとチケット駆動開発を組み合わせたチームでの取り組み/okr-tidd-knowledge
zinrai
0
64
テキスト化した「チケット駆動開発がまわりはじめるまでの取り組み」の紹介/okr-tidd-case-intro
zinrai
1
970
チケット駆動開発がまわりはじめるまでの取り組み/okr-tidd-case
zinrai
10
4.4k
mail_service_unittest
zinrai
1
130
vyos_mtg3_vxlan_lt
zinrai
0
170
freebsd_shellscript_install
zinrai
1
140
debian_shellscript_install
zinrai
0
230
Other Decks in Technology
See All in Technology
Babylon.js v5 新機能の紹介
limes2018
0
320
Power BIのモバイルと都 +1 / Tokyo
ishiayaya
0
120
Research Paper Introduction #98 "NSDI 2022 recap"
cafenero_777
0
170
Understanding Python attributes
reuven
0
550
Microsoft Power Automate で 始めるRPAと自動化
taikiyoshida
0
1.7k
三越伊勢丹の接客DXを支える「DevOps基盤」とは
imdigitallab
0
230
SRE_チーム立ち上げから1年_気づいたら_SRE_っぽくない仕事まで貢献しちゃってる説
bitkey
PRO
0
1.2k
Babylon.js で簡単 WebXR
yuhara0928
1
270
Deeplearning from almost scratch
hn410
0
570
Steps toward self-service operations in eureka
fukubaka0825
0
320
Motto Go Forward スライドトップと Goを支える文化とコミュニティ してご利用ください 〜なぜ我々はコミュニティにコントリ ビュートするのか〜
luccafort
0
120
jaws-ug-asa-datasync-20220510
hiashisan
0
430
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
24
6.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
The Power of CSS Pseudo Elements
geoffreycrofte
46
3.9k
A better future with KSS
kneath
225
15k
Debugging Ruby Performance
tmm1
65
10k
5 minutes of I Can Smell Your CMS
philhawksworth
196
18k
Three Pipe Problems
jasonvnalue
89
8.6k
Statistics for Hackers
jakevdp
781
210k
What's in a price? How to price your products and services
michaelherold
229
9.3k
How GitHub (no longer) Works
holman
296
140k
How to train your dragon (web standard)
notwaldorf
57
3.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
Transcript
Ansible 使うとき何考えてるの
自己紹介 @zinrai やってること コンテナによるアプリケーション実行基盤の整備 メトリクス管理・監視基盤の整備 ログ管理・監視基盤の整備
Ansible 歴 2014/07 〜
お話しすること
私が、どのように考え、 Ansible でサーバーを構成管理しているかをお話する。
サーバー構築
サーバー構築とは何だろうか。
私は、様々なソフトウェアのインストールと設定を組み合わせ、サービスが提供可能 なサーバーを作り上げる行為だと考えている。
サーバー構築手順書
Apache インストール Apache 設定 NTP インストール NTP 設定 etc.
ソフトウェアのインストールと設定が手順書の中に書かれているのではないだろう か。
Ansible でのサーバー構成管理
apache2 ( Apache インストール ) apache2_conf ( Apache 設定 )
ntp ( NTP インストール ) ntp_conf ( NTP 設定 ) etc.
様々なソフトウェアのインストールと設定を組み合わせ、 サービスが提供可能なサーバーを作り上げるを Ansible の Role で表現するものであ ると考えている。
「インストールしてから設定する」を Ansible では Role Dependencies で表現でき る。 cat << EOF
> apache2_conf/meta/main.yml --- dependencies: - role: apache2 EOF https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html# role-dependencies
Role を分割することで見えてくるもの
ソフトウェアをインストールする Role は、サーバー固有ではないので、再利用でき る。
Role を再利用可能な状態にしておくことで、そのサーバー固有の設定だけに注力すれ ばよくなる。
Role の再利用性の実例
Ansible の記事や本などで、「Role の再利用性」というものをよく目にするが、 Role が再利用されると実際どのようなことが起きるのかを例で示す。
サーバー固有の Role は 2 つ ( 水色は再利用している Ansible Role )
サーバー固有の Role は無し 再利用できる状態にしていた Role のみでサーバーが構成できている。
まとめ
サーバー構築は、様々なソフトウェアのインストールと設定を組み合わせ、サービス が提供可能なサーバーを作り上げるという行為である。
Ansible で、ソフトウェアのインストール、設定をそれぞれ Role に分割し、これらを 組み合わせることでサーバーを構成する。
Role を再利用可能な状態にしておくことで、そのサーバー固有の設定だけに注力すれ ばよくなる。
Role の再利用性を高めておくと、最終的には Role を組み合わせるだけの状態にな る。
サーバーの構成管理について非常に秀逸なコメントをしているものがあるので、最後 に紹介する。 実際のコメント https://twitter.com/inoryo/status/1115248088963145728 自分の考え https://twitter.com/zinrai/status/1115768141529747456
自分達のサーバーインフラと向き合い構成管理が辛くない方向に持っていくことが必 須である。
おわり