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
Cooking operations with Salt
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
MasahiroIrie
July 27, 2022
Technology
790
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cooking operations with Salt
MasahiroIrie
July 27, 2022
More Decks by MasahiroIrie
See All by MasahiroIrie
Is that compatibility... actually OK?
mirie_sd
0
75
Expiration of Secure Boot Certificates for vSphere Virtual Machines
mirie_sd
0
1.2k
Making new vExpert badge sticker
mirie_sd
0
610
How to use "VMware"
mirie_sd
0
700
The key to VCP-VCF
mirie_sd
0
2.9k
Now is the time to check the vSphere Security Configuration and Hardening Guide
mirie_sd
0
1.3k
Using vROPs API with Swagger
mirie_sd
0
230
Blog vExperts use
mirie_sd
0
230
Talk about TAS before forgetting
mirie_sd
0
280
Other Decks in Technology
See All in Technology
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
210
英語が話せなくてもKubeConスタッフに参加した話
yusuke427
2
1.1k
ホームラボ紹介
y_sera15
0
230
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
820
FDEの心得
noriakioji
5
6.4k
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
160
35分でわかるEffective Platform Engineering
nwiizo
5
610
自宅NWにISR4331を導入してみた話
okaits
0
120
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
19
6.8k
:syncing_time:
sksat
2
550
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
330
私がブラウザを自作したくなった理由
supurazako
1
280
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Speed Design
sergeychernyshev
33
2k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
What's in a price? How to price your products and services
michaelherold
247
13k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
870
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
220
Design in an AI World
tapps
1
290
Documentation Writing (for coders)
carmenintech
77
5.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Transcript
2022/7/27 Japan VMUG vExpert が語る #17 @IrieMasahiro Salt で運用に味付けを
自己紹介 入江 正博 @IrieMasahiro • ヴイエムウェア株式会社 テクニカルアカウントマネージャー • Japan VMUG
• vExpert 2019-2022 • 先週 Double VCP になりました (DCV2022 / NV2022) 次は DTM? 先は長い…
アジェンダ • Salt のおさらい • Beacons と Reactor • まとめ
• おまけ ※ 注 本発表内容は発表者個人の調査、検証に基づく見解であり、所属する会社、組織、及び、 その関係者の見解と完全に一致するものではありません。
Salt のおさらい
ここまでやってきた Salt 話 • vExpert Advent Calendar 2021 12/13 投稿分
◦ Salt でサーバに味付けを https://vhoge.hateblo.jp/entry/2021/12/13/090516 • VMware DevOps Meetup #11 ◦ Salt でサーバに味付けを (REM@STER VERSION) https://www.youtube.com/watch?v=vqglTqVghZA https://speakerdeck.com/mirie_sd/cooking-the-server- with-salt-rem-at-ster-version
Salt とは • オープンソースの自動化、構成管理ツール ◦ Ansible, Chef, Puppet の仲間 •
Python で実装 • SaltStack 社が主導で開発 → VMware 社が SaltStack 社を買収(2020/10) ◦ 現在もオープンソースプロジェクトとして開発中 ▪ https://github.com/saltstack/salt • 「サルト」って読みそうだけど「ソルト」
vRealize Automation SaltStack Config 旧 SaltStack Enterprise vRealize のポートフォリオの一つとして取り込み
Salt の構成
Salt の構成 • Master-Minion によるクライアント/サーバ構成 ◦ 管理対象にエージェント (salt-minion) をインストール ◦
単独ホストなら masterless minion 構成も可能 • Master-Minion 間は ZeroMQ による通信 ◦ Minion → Master へ 4505/tcp, 4506/tcp • Minion が導入できない環境には Proxy Minion ◦ Proxy Minion が管理対象に SSH や REST API で操作 • Salt SSH でエージェントレス構成も ◦ ただし、基本的には salt-minion 推奨
Salt の概念・機能 • Grains ◦ Minion で生成されるシステム情報やユーザ定義情報 ◦ 実行対象のフィルタリング条件に •
Pillar ◦ Master で管理される情報、変数や Secret 情報 • State ◦ あるべき構成を記述したファイル ◦ salt が state に従ってサーバ構成を実行 • Remote Execution ◦ Minion にて実行するアドホックな処理
ここでデモ
Salt は構成管理ツール… • ここまでなら構成管理ツール ◦ 細かい差はあれど、他のツールでもできそう • Salt の真価は Beacons
/ Reactor → 今日はこの話 ,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; ヾ;;;ハ ノ .::!lリ;;r゙ `Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f. 俺にもありました ~''戈ヽ `二´ r'´:::. `!
Beacons と Reactor
Beacons
Beacons すみません、言いたかっただけです…
Beacons • Minion でイベントを検知し、Master に通知する ◦ 例えば… ▪ ユーザのログイン、特定コマンドの実行 ▪
inotify によるファイル変更 ▪ サービスやプロセスの状態変更 ▪ load avg. や CPU、メモリなどのメトリクス情報 ▪ 他色々 (https://docs.saltproject.io/en/latest/ref/beacons/all/index.html) • 監視する対象を minion の設定に定義 • salt-minion が監視、通知を行う
Salt の構成 • Master-Minion によるクライアント/サーバ構成 ◦ 管理対象にエージェント (salt-minion) をインストール •
Master-Minion 間は ZeroMQ による通信 ◦ Minion → Master へ 4505/tcp, 4506/tcp • Minion が導入できない環境には Proxy Minion ◦ Proxy Minion が管理対象に SSH や REST API で操作 • Salt SSH でエージェントレス構成も ◦ ただし、基本的には salt-minion 推奨 というわけで… Salt の真価を発揮するなら salt-minion は必須!
Beacons 検知サンプル hostname:saltminion01 で nginx サービスが ruuning:false(=stop) にな ったことを検知して Master
に通知
Reactor
Reactor 特に思いつかなかった…
Reactor • 検知した Beacon をトリガーにアクションを実行 ◦ reactor 用の sls を記述
(ex. /srv/reactor/hoge.sls) ◦ どの Minion や何の Beacon かは渡される json から state 内で判断して処理を分岐することが可能 • state を自動で呼び出して実行 ◦ サービスだけの再起動 ◦ 構築用 state に従い、あるべき姿を再構成 ◦ メールや SNMP、Slack などでの通知
ここでデモ
Beacons / Reactor って夢があるよね? • システム監視に ◦ プロセスやサービスの停止を検知してアラート発報 ◦ CPU
やメモリの値を見てアラート発報 ◦ アラートもメール や SNMP、Slack、自前での実装も etc • 障害対応自動化に ◦ システム停止を検知して所定の手順を実行 ◦ なんならシステム丸ごと再デプロイ • バッチ処理の自動化にも? ◦ ファイル出力をトリガーに後続処理 ◦ スケジュール実行も可能 (Beacons とは関係ないけど)
ただの構成管理ツールではなく ,.ィ , - 、._ 、 . ,イ/ l/  ̄ ̄`ヽ!__
ト/ |' { `ヽ. ,ヘ N│ ヽ. ` ヽ /ヽ / ∨ N.ヽ.ヽ、 , } l\/ `′ . ヽヽ.\ ,.ィイハ | _| ヾニー __ _ -=_彡ソノ u_\ヽ、 | \ .  ゙̄r=<‐モミ、ニr;==ェ;ュ<_ゞ-=7´ヽ > . l  ̄リーh ` ー‐‐' l‐''´冫)'./ ∠__ ゙iー- イ'__ ヽ、..___ノ トr‐' / l `___,.、 ./│ /_ . ヽ. }z‐r--| / ト, | ,、 >、`ー-- ' ./ / |ヽ l/ ヽ ,ヘ _,./| ヽ`ー--‐ _´.. ‐''´ ./ \、 \/ ヽ/ -‐ '''"  ̄ / :| ,ゝ=< / | `'''‐- 、.._ / !./l .\ ./ │ _ _,> '´|l. ミ:ゝ、 _/,´\ ./|._ , --、 | i´!⌒!l r:,=i . | | l. / |= ヽ/ | .|l⌒l lニ._ | ゙ー=':| |. L._」 l. | l./ .! / | i´|.ー‐' | / | |. ! l . l. |. .! .| / .!.|"'|. l' │-==:|. ! ==l ,. -‐; l | l. .| / | i=!ー=;: l | l. | | / // l | l .|/ !│ l l、 :| | } _|,.{:: 7 l | l ./ .| |__,.ヽ、__,. ヽ._」 ー=:::レ' ::::::|; 7 . l | l / .|. \:::::\::::: ヽ ::::::!′ :::| .:/ . l | .∨ ! /ヽ::: `::: :::: ... つまり Salt は 統合運用自動化ツールだ ったんだよ!! 言い過ぎ?
まとめ • Salt とは OSS の自動化、構成管理ツール • Beacons と Reactor
でイベントドリブンな 自動化が可能 ◦ Beacons はイベント通知 ◦ Reactor で通知をトリガーに処理を実行 ◦ もはや統合運用自動化ツール? • やはり知名度(情報量)がネックか…? ◦ 個人的には運用全てを All-in-one でやりきらなくてもツールチェインでもい いのではないのかな…とも
おまけ • vRealize Automation SaltStack Config
おまけ • vRealize Automation SaltStack Config ◦ Salt の管理 GUI
(RaaS:Returner as a Service) ◦ アプライアンス VM とは別に RHEL/SLES への手動 インストール(※)も可能 ※ただし非推奨 ◦ salt-master を内包、既存の salt-master をぶらさげ ることも可能 ◦ Master 管理の構成ファイル(State や Pillar 等)の閲覧 編集も可能
おまけ
おまけ
試してないけど…
EOP