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 the server with Salt (REM@STER Version)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
MasahiroIrie
December 15, 2021
Technology
710
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cooking the server with Salt (REM@STER Version)
MasahiroIrie
December 15, 2021
More Decks by MasahiroIrie
See All by MasahiroIrie
Is that compatibility... actually OK?
mirie_sd
0
53
Expiration of Secure Boot Certificates for vSphere Virtual Machines
mirie_sd
0
960
Making new vExpert badge sticker
mirie_sd
0
530
How to use "VMware"
mirie_sd
0
610
The key to VCP-VCF
mirie_sd
0
2.8k
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
Cooking operations with Salt
mirie_sd
0
780
Blog vExperts use
mirie_sd
0
230
Other Decks in Technology
See All in Technology
ガバナンスの「ちょうどいい落とし所」を探れ!開発スピードを妨げない運用判断の勘所 / SRE NEXT 2026
genda
1
230
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
1
280
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
2
130
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.4k
公式ドキュメントの歩き方etc
coco_se
1
120
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.5k
Type-safe IaC for Dart
coborinai
0
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
0
120
Data + AI Summit 2026 イベントレポート: 「AIがビジネスで意思決定するデータ基盤」へ
nek0128
0
250
ファミコンでPHPを動かす / PHP on the Famicom
tomzoh
2
310
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
260
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.4k
Building Applications with DynamoDB
mza
96
7.1k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2k
How GitHub (no longer) Works
holman
316
150k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
470
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Exploring anti-patterns in Rails
aemeredith
3
440
The Spectacular Lies of Maps
axbom
PRO
1
860
The SEO Collaboration Effect
kristinabergwall1
1
500
Fireside Chat
paigeccino
42
4k
Transcript
2021/12/15 VMware DevOps Meetup #11 @IrieMasahiro Salt でサーバに味付けを (REM@STER Version)
自己紹介 入江 正博 @IrieMasahiro • 某情報通信系企業 クラウド/インフラコンサルタント • VMUG 仮想インフラ部会 •
vExpert 2019-2021
本発表は… • vExperts Advent Calendar 2021 12/13 投稿 “Salt でサーバに味付けを”の使い回しリマスター
◦ https://adventar.org/calendars/6689 • こぼれネタやデモを添えて
本旨アジェンダ • Salt とは • Salt のアーキテクチャ ◦ Master -
Minion ◦ Salt SSH ◦ デモ 1 • Salt の機能 ◦ Grains ◦ Remote Execution ◦ State ◦ Pillar ◦ デモ 2 • まとめ
Salt とは
Salt とは • オープンソースの自動化、構成管理ツール ◦ Ansible, Chef, Puppet の仲間 •
Python で実装 • SaltStack 社が主導で開発 → VMware 社が SaltStack 社を買収 ◦ 現在もオープンソースプロジェクトとして開発中 ▪ https://github.com/saltstack/salt
時は2020年10月 VMware社によるSaltStack 社の買収完了を発表
vRealize Automation SaltStack Config 旧 SaltStack Enterprise vRealize のポートフォリオの一つとして取り込み
Salt って有名なの? • 歴史は結構長い ◦ 2011 年初版リリース、Ansible (2012 年)より前 •
自分は割と最近に初めて知った… ◦ Ansible, Chef, Puppet は聞いたことあったけど… ◦ 世の中的には有名?
Google トレンド調べ • Salt, Ansible, Chef, Puppet で調査 • 過去
5 年分
Google トレンド調べ • Salt, Ansible, Chef, Puppet で調査 世界的に大人気ではないか!(白目)
Google トレンド調べ2 • この結果、絶対ノイズ混ざってるだろ… ◦ Salt とか Chef とか料理の話かと ◦
Puppet も… ※ 一般的なイメージ • カテゴリを”コンピュータ”で絞ってやり直し
Google トレンド調べ2 • カテゴリを”コンピュータ”で絞ってやり直す やっぱり圧倒的ではないか!(白目)
Salt はググラビリティが低い… • コンピュータで Salt というと暗号化の話が… • 何となくお察しの通り、知名度はそこまでない? ◦ “SaltStack”
で検索 ↓ 多分こんなものかと ※ 個人の感想です
Salt のアーキテクチャ
Salt の構成
Salt の構成 • Master-Minion によるクライアント/サーバ構成 ◦ 管理対象にエージェント (salt-minion) をインストール ▪
対象は Linux / Windows / UNIX などサーバ系が中心に • Master-Minion 間は ZeroMQ による通信 ◦ Minion → Master へ 4505/tcp, 4506/tcp • Minion が導入できない環境には Proxy Minion ◦ vCenter や NW 機器など、汎用的な OS 以外の環境 ◦ Proxy Minion が管理対象に SSH や REST API で操作
Minion のインストール面倒… • そんなあなたに Salt SSH • エージェント (salt-minion) 不要の構成
◦ Master から ssh 接続でゴニョゴニョしてくれる ▪ Master での対象ホスト指定 (/etc/salt/roster) ▪ Salt SSH 用のユーザ + sudo 用 NOPASSWD ▪ Salt SSH 用公開鍵 (/etc/salt/pki/master/ssh/salt-ssh.rsa.pub) • Minion に比べるとモッサリ感… ◦ 基本的には salt-minion 推奨 ▪ 初回の salt-minon インストール時に ▪ どうしても Minion が使えない場合に
ここでデモ
Salt の機能
Grains • 管理対象のハードや OS 、ネットワークなど、 あまり変更されない静的に近い情報 ◦ Minion で生成される情報 •
Master から参照が可能 • システム情報だけでなく、ユーザ任意の値も可能 ◦ サーバグルーピングやメタ情報の付与 → タスク実行時の対象ホスト指定の条件フィルタに
Remote Execution • 指定した管理対象でコマンドを実行 ◦ pssh とか Fabric と同じようなもの •
汎用的な操作や API を叩くようなものは Execution Module として用意されている ◦ https://docs.saltproject.io/en/latest/ref/modules/all/index.html#all-salt-modules ◦ 足りなければ独自拡張も可能
State • 構成をファイルに記述 (/srv/salt) • Salt がファイル内容に従って処理を実行 • 構成を記述するファイルが State
と呼ばれる ◦ パッと見 YAML 形式 ◦ Jinja2 テンプレートなので制御を仕込むことも可能 • どの Minion にどの State を適用するかも記述 ◦ top.sls に Minion 名や Grain での条件指定と適用する State 名のマッピング記述
Pillar • 変数や Secret をファイルに記述 (/srv/pillar) • Master 上で定義、格納して管理 ◦
Grains と Pillar の違い • Grains は Minion 上で生成、管理 • Pillar は Master 上で生成、管理 • State からは実行時に Pillar を参照 ◦ {{ pillar[‘hoge’] }} で参照 • State と同様に top.sls で Minion やグループ毎に 値の定義が可能
ここでデモ
まとめ • Salt とは OSS の自動化、構成管理ツール • Master-Minion のクライアント/サーバ型 ◦
Salt SSH によるエージェントレスも可 • State と Remote Execution による構成管理 ◦ Minion 上の Grains に静的情報 ◦ Master 上の Pillar に変数やシークレット情報 • 他にも beacon や reactor、salt-runner など ◦ 機会があればそのウチ…(まだ触ってない) • 知名度(情報量)がネックか…?
ところで vRealize Automation SaltStack Config Download 不可能なので何も試せず… そのウチ試用できればなぁ…
EOP