>100 Views
October 06, 26
スライド概要
Kubernetes Novice Tokyo #42の登壇資料です
電子工作などをやってる情報系の学生
Kubernetes Novice Tokyo #42 今更ながらTalosとOmniの 便利さを語りたい ぼいど 2026.10.06 Kubernetes Novice Tokyo 42 · 2026.10.06 1
自己紹介 ぼいど 電気通信大学大学院 修士2年 矢崎研究室 自宅サーバー・オンプレが好き Kubernetes / Proxmox インフラ・ネットワーク・AS運用 @k1h_tech / k1h.dev Kubernetes Novice Tokyo 42 · 2026.10.06 2
何が嬉しいか! クラスタのバージョンアップが楽! シェルがなくても、案外困らない! Kubernetes Novice Tokyo 42 · 2026.10.06 3
きっかけ 自宅のKubernetesも、 楽に管理したい mochizukiさんの Talosの話を聞く 気になって → 自分でも試す 自宅のクラスタで → 使ってみる Talos / Omni / Proxmox + Terraform Kubernetes Novice Tokyo 42 · 2026.10.06 4
VMを作った後にも、決めることがある OSの設定 ノードごとの設定 反映・状態確認 クラスタの役割 どのマシンを CP / Workerに? 設定を渡す・状態を見る・変更を反映する、をそろえたい Kubernetes Novice Tokyo 42 · 2026.10.06 更新する版 OSとKubernetes それぞれの更新 5
OSの設定・確認・更新をTalosにまとめる 1 必要な設定を定義 2 APIで状態・ログを確認 machine: install: disk: /dev/sda talosctl service kubelet talosctl logs kubelet MachineConfigの一部・ディスク名は例 接続先・認証を設定済みの例 更新の入口:OSは talosctl upgrade / Kubernetesは upgrade-k8s OSの操作をMachineConfigとAPIへ集める Talos単体でも利用可能。Omni管理下の設定・更新はOmniから。 Sidero公式:Talos CLI / Kubernetesの更新 Kubernetes Novice Tokyo 42 · 2026.10.06 6
ISOで起動 → Omniに登録 → クラスタへ割当 接続情報⼊りISO Talosを起動 SideroLink ノード → Omni Machinesに登録 クラスタ未割当 CP / Worker 役割を割り当てる 1 マシン一覧に現れる 2 CP / Workerを選ぶ 3 版・ディスクを指定 Create Clusterの後は 進捗・ノード状態を確認 登録しただけでは、まだクラスタではない 画面:公式ドキュメントのAWSサンプル / SideroLink:WireGuardベースの管理用接続 Kubernetes Novice Tokyo 42 · 2026.10.06 7
使ってよかった① バージョンアップが楽 1 目標のversionを指定 Cluster → Update Kubernetes 2 Omniが更新を進める コンポーネント・kubeletを更新 3 状態を確認する クラスタ・ノードの状態を見る 公式UIの例・画面内の版はサンプル 目標版の指定から、更新の進み具合まで一つの管理先で Talos OSの更新は別操作。Terraform管理対象はコードを正本にする。 公式:Upgrade Omni Clusters(画面は中央の選択ダイアログを拡大表示) Kubernetes Novice Tokyo 42 · 2026.10.06 8
使ってよかった② シェルなしでも、案外困らない 「シェルが触れないと苦しそう」→ 意外とそうでもなかった ノード上に調査用のPodを起動する例 kubectl debug node/<node-name> \ -n kube-system -it \ --image=alpine -- sh debugコンテナのシェルから プロセス・ネットワーク・/hostを調べる 普段の状態・ログ確認はtalosctlでも Talosノード debug Pod / コンテナ Alpine の sh PID / network / IPC ホストのファイル:/host シェルはコンテナ側。TalosホストへのSSHとは別。 API・対象ノードが動作し、RBAC / Pod Securityの許可が必要。 Sidero:How to SSH into Talos Linux / Kubernetes:Debugging Kubernetes Nodes With Kubectl Kubernetes Novice Tokyo 42 · 2026.10.06 9
Omniを自宅に置くなら ブラウザ UIで操作 HTTPS 独⽴したLinuxホスト Docker Omni 認証・管理⽤DB SideroLink ノードから接続 Talosノード Kubernetes 名前解決・TLS・認証を⽤意する 個人ホームラボ用途は無償利用可 BUSL 1.1/採用版の利用条件を確認。業務で依存する環境は商用ライセンス。 Omni用:2 vCPU / 4 GB RAM以上 Kubernetesノード分は別 公式手順に基づく構成例:Run Omni On-Prem / BUSL利用条件 Kubernetes Novice Tokyo 42 · 2026.10.06 10
VMとクラスタ構成をTerraformでつなぐ bpg/proxmox VM / CPU / メモリ / ISO / NIC Terraform siderolabs/omni plan / apply Omni cluster / machine set / node / patch VM作成・起動 → Omniへの登録待ち → 役割割当 追加のOS設定は config patch → Talosへ Omni providerが扱うのはクラスタの構成 実コード:topio-demo-infra / vms.tf・omni.tf。接続先はOmni SaaS。Omniサーバーの設置は別。 Kubernetes Novice Tokyo 42 · 2026.10.06 11
同じUUIDを使い、登録を待ってから割り当てる UUIDをVM名ごとに生成・保持 random_uuid.talos_machine[name].result → local.talos_machine_ids[name] Proxmox VM / Omni node(実コード抜粋) smbios_uuid = ( local.talos_machine_ids[each.key] ) machine_id = ( local.talos_machine_ids[each.key] ) ① VM作成・ISO起動 depends_on ② Omniの登録・接続待ち machinestatus → connected: true depends_on ③ machine_set_node クラスタの役割へ割当 wait_for_machines有効時 登録待ちにはタイムアウトあり omnictl get machinestatus SMBIOS UUID = Omni machine ID 実コード:locals.tf / vms.tf / omni.tf / scripts/wait-for-machine.sh。上段の矢印は値の対応を示す説明表記。 Kubernetes Novice Tokyo 42 · 2026.10.06 12
実はVMの作成・削除も、Omniからできるらしい Omni Infrastructure Provider Omni Machine Class 必要な台数 Infrastructure Provider Proxmox API VM作成・削除 Proxmox⽤・別プロセス Talos VM 起動 SideroLinkでOmniへ接続 動的リソース VMを必要に応じて作成・削除 静的リソース 既存の物理機の電源・起動を管理 マシンを用意するところまで、Omniにつながる 公式機能の紹介・Proxmoxの概念図。Terraform providerとは別の仕組み。 公式:Infrastructure Providers / Proxmox用Provider Kubernetes Novice Tokyo 42 · 2026.10.06 13
まとめ 手軽にKaaSっぽいことができて楽 OS設定:Talos クラスタ管理:Omni IaC:Terraform ぜひ試してみてください! ぼいど@k1h_tech Kubernetes Novice Tokyo 42 · 2026.10.06 14