Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Cooking the server with Salt (REM@STER Version)
MasahiroIrie
December 15, 2021
Technology
0
280
Cooking the server with Salt (REM@STER Version)
MasahiroIrie
December 15, 2021
Tweet
Share
More Decks by MasahiroIrie
See All by MasahiroIrie
Blog vExperts use
mirie_sd
0
50
Talk about TAS before forgetting
mirie_sd
0
26
Getting VM console with WebMKS
mirie_sd
0
1.2k
modern vCenter alert nortification(M@STER VERSION)
mirie_sd
0
890
20190705_VMwareDevOpsMeetup.pdf
mirie_sd
0
840
Getting VM IP on ESXi
mirie_sd
4
670
Other Decks in Technology
See All in Technology
LINEスタンプの実例紹介 小さく始める障害検知・対応・振り返りの 改善プラクティス
line_developers
PRO
3
1k
OSINT/GEOINT ワークショップ 20220514 古橋資料
furuhashilab
2
220
【OCHaCafe#5】その Pod 突然落ちても大丈夫ですか?
k6s4i53rx
2
110
GitHub 엔터프라이즈 어카운트 소개 및 엔터프라이즈 서버 구축 경험
posquit0
1
130
動画配信技術について
yaminoma
0
180
完全に理解した incremetal 〜そして、何もわからないへ〜
mashiike
0
200
技術広報の役割を定義してみた 2022年春
afroscript
3
2.3k
目と耳を持った自然言語処理 - スタートアップにおける価値創出のために
yag_ays
PRO
0
510
Deeplearning from almost scratch
hn410
0
570
Babylon.js で簡単 WebXR
yuhara0928
1
280
tfcon-2022-cpp
cpp
5
4.4k
三越伊勢丹の接客DXを支える「DevOps基盤」とは
imdigitallab
0
250
Featured
See All Featured
Writing Fast Ruby
sferik
612
57k
Automating Front-end Workflow
addyosmani
1351
200k
StorybookのUI Testing Handbookを読んだ
zakiyama
4
2k
What's in a price? How to price your products and services
michaelherold
229
9.3k
Designing for humans not robots
tammielis
241
23k
Web Components: a chance to create the future
zenorocha
303
40k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
172
8.3k
Visualization
eitanlees
124
11k
Producing Creativity
orderedlist
PRO
333
37k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
How to train your dragon (web standard)
notwaldorf
57
3.8k
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