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
My home VM Solution by premade MicroOS
Search
hashimotosyuta
November 06, 2022
Technology
0
2k
My home VM Solution by premade MicroOS
I explain my home VM solution by premade MicroOS.
hashimotosyuta
November 06, 2022
Tweet
Share
More Decks by hashimotosyuta
See All by hashimotosyuta
[Cross Distro Developers Camp] open source conference 2023 Online/Spring
hashimotosyuta
0
150
Kubic with OpenSDS
hashimotosyuta
0
240
Dockerの使い方
hashimotosyuta
1
370
Kubicで簡単お手軽Kubernetesクラスタ構築
hashimotosyuta
0
2.5k
Kubernetes動かしてみた
hashimotosyuta
0
220
DRBD block device replication solution for HA cluster mainly
hashimotosyuta
0
560
Dockerイメージの脆弱性診断をPortus & Clairで
hashimotosyuta
1
1.2k
PortusでプライベートDockerレジストリを作ってみよう 設定編
hashimotosyuta
0
2.5k
PortusでプライベートDockerレジストリを作ってみよう
hashimotosyuta
1
3k
Other Decks in Technology
See All in Technology
初めてのAzure FunctionsをClaude Codeで作ってみた / My first Azure Functions using Claude Code
hideakiaoyagi
1
140
DroidKnights 2025 - Jetpack XR 살펴보기: XR 개발은 어떻게 이루어지는가?
heesung6701
1
150
原則から考える保守しやすいComposable関数設計
moriatsushi
3
480
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
3
630
_第3回__AIxIoTビジネス共創ラボ紹介資料_20250617.pdf
iotcomjpadmin
0
130
AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜 #fp_matsuri / FP Matsuri 2025
ytaka23
9
2.6k
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
180
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
230
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
490
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
350
Snowflake Intelligenceで実現できるノーコードAI活用
takumimukaiyama
1
280
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
730
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
The Invisible Side of Design
smashingmag
299
51k
How to Ace a Technical Interview
jacobian
276
23k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
Navigating Team Friction
lara
187
15k
Code Reviewing Like a Champion
maltzj
524
40k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
A Tale of Four Properties
chriscoyier
159
23k
Adopting Sorbet at Scale
ufuk
77
9.4k
Statistics for Hackers
jakevdp
799
220k
Transcript
YAML に書いた宣言的な定義から VM を作ってみた 〜一般のご家庭向け ver 〜 power of orchestration
openSUSE-ja hashimotosyuta @syuta_openSUSE
イントロダクション • MicroOS • Combustion • Bash • Ansible •
SaltStack • k3s KVM
宣言的とは 「どうやるか」では無く、 「どんな結果が欲しいか」に 主眼を置く方法論 – ここでは、欲しい VM のスペック を設定ファイル( YAML
)に書く ことで実現する方法を指します。
こんなことがありませんか? • ホストに余計なものを入れたくない – 極力ホストは欲しい物、必要な物だけにしたい • 検証用の使い捨てVMが欲しい – コンテナなどサーバー技術をちょっと使ってみた い
• SaltStackやKubernetesを試したい 何なら使いたい – 複数マシンのコラボレーションを体感したい
検証用 VM あるある • 自宅サービス提供 VM の横で検証 – 自宅サービスが煽りをくって止まる •
実は前のソフトの検証時に、今回必 要なパッケージが一部入っていた – 今回の手順だけだと動かない
SaltStack SaltStack Master の指示により、 Minion が各種設定を行う SaltStack Master SaltStack Minion
Virtual Machine Virtual Machine 各種設定 SaltStack Minion Virtual Machine 各種設定 Virtual Machine SaltStack Minion Virtual Machine 各種設定 Virtual Machine
Kubernetes Master Node の指示により、 Worker Node がコンテナを動 かす ※概略です Master
Node Worker Node コンテナ Worker Node コンテナ Worker Node コンテナ コンテナ
宣言的 KVM SCRIPT YAML
構成要素 YAML サービス Virtual Machine ネットワークなどの基本設定 スクリプト MicroOS Ansible SaltStack
Combustion KVM
ハードウェアとソフトウェア VM VM VM サービス B サービス B VM サービス
A
YAML ハードウェア domainname: k3s_master type: microos hostname: k3s-master enp2s0: ip:
192.168.254.150 subnet: 24 vcpus: 2 ansible: - { role: saltmaster } vm: - "saltstack_master" - "k3s_master" - "k3s_worker1" - "k3s_worker2" playbook: - "saltmaster" - "saltminion" メイン / ソフトウェア
レイヤー間の連携 ハードウェア設定 YAML ansible: - { role: saltmaster } インベントリ
ファイル playbook 書き込む 参照する [saltmaster] 192.168.xxx.yyy hosts:saltmaster
MicroOS & Combustion • MicroOS – イミュータブル – コンテナ最適化 –
軽量 • Combustion – MicroOS 初期設定スクリプト
Combustion による設定 YAML MicroOS ホストネームなどの 基本設定 スクリプト 設定ファイル 雛形 設定ファイル
Combustion 設定ファイル 初期化スクリプト 作成 設定 配置
k3s
解決済課題 • ネットワーク設定 – NetworkManagerにいつの間にか変わっていた • VM 並列作成 – インベントリファイル同時に書き込んじゃう問題
• 初回SSHログイン確認ダイアログ – ssh-keyscanでknown hostsに追記することで回避 • ストレージアタッチメント – 永続ボリュームは必須
ストレージアタッチメント VM ホスト コンテナ LVM ハードウェア設定 YAML playbook
解決したい課題 • フロントエンドからの制御 – YAML編集やスクリプト実行を制御 • VM生成中の中断、クリーンアップ – ホスト起動時に自動実行とかした場合、即シャットダ ウンする可能性がある
• MicroOSプリメイドイメージの自動アップデート – 検証用アップデートと簡単なテスト • pythonで書き直したい – bashは悪くないけれどちょっと辛い
Thank you