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
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
74
Expiration of Secure Boot Certificates for vSphere Virtual Machines
mirie_sd
0
1.1k
Making new vExpert badge sticker
mirie_sd
0
580
How to use "VMware"
mirie_sd
0
670
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
システム思考で問題に対処する
yussak
0
180
サイバー捜査員研修(前半)
nomizone
1
1.9k
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
430
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
11
8.2k
TypeScript入門 2026
recruitengineers
PRO
2
480
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
120
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
2
600
바이브풀 라이프
arawn
0
100
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
620
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
230
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
A Soul's Torment
seathinner
6
3.4k
Building an army of robots
kneath
306
46k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
260
Are puppies a ranking factor?
jonoalderson
1
3.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
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