Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
My home VM Solution by premade MicroOS
Search
hashimotosyuta
November 06, 2022
Technology
2.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
My home VM Solution by premade MicroOS
I explain my home VM solution by premade MicroOS.
hashimotosyuta
November 06, 2022
Transcript
19 slides
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
More Decks by hashimotosyuta
See All by hashimotosyuta
[Cross Distro Developers Camp] open source conference 2023 Online/Spring
hashimotosyuta
0
230
Kubic with OpenSDS
hashimotosyuta
0
350
Dockerの使い方
hashimotosyuta
1
450
Kubicで簡単お手軽Kubernetesクラスタ構築
hashimotosyuta
0
2.8k
Kubernetes動かしてみた
hashimotosyuta
0
270
DRBD block device replication solution for HA cluster mainly
hashimotosyuta
0
740
Dockerイメージの脆弱性診断をPortus & Clairで
hashimotosyuta
1
1.3k
PortusでプライベートDockerレジストリを作ってみよう 設定編
hashimotosyuta
0
2.8k
PortusでプライベートDockerレジストリを作ってみよう
hashimotosyuta
1
3.3k
Other Decks in Technology
See All in Technology
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
280
Shared Signals Framework 仕様解説
oidfj
0
420
SREのためのFinOps入門
muziyoshiz
3
1.5k
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
510
Kiro CLI 入門 (ターミナルと CI で使う) | 目指せ Kiro マスター 03
inariku
PRO
2
140
複数システムが同居した 15 年物の AWS アカウントを解体するための考古学
wa6sn
3
140
思考過程から秘密が漏れる:Amazon Bedrock上のKimi K3を5つの方法で攻めたら、25回中22回漏洩した話
yama3133
1
150
AIエージェントの監視、思考を見るか行動を見るか / Monitoring AI Agents: Thoughts or Actions
yusukeshimizu
2
190
Quick Automate | 目指せ Quick マスター 12
inariku
PRO
1
110
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
16k
うちなーぐちが認識できるなら、秋田弁もいけるはず!? Amazon Transcribe方言チューニング検証
ryouto715
1
170
人間+AIを「チーム」としてプロセスを再設計する
littlehands
0
420
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
1.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
310
Reality Check: Gamification 10 Years Later
codingconduct
0
2.4k
Facilitating Awesome Meetings
lara
57
7.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
1
310
YesSQL, Process and Tooling at Scale
rocio
174
15k
The browser strikes back
jonoalderson
0
1.9k
The agentic SEO stack - context over prompts
schlessera
0
1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
We Have a Design System, Now What?
morganepeng
55
8.4k