1K Views
May 23, 25
スライド概要
CNDS2025 学生支援LTの発表スライドです
電子工作などをやってる情報系の学生
ContainerSSHを使って ハンズオン環境として使える リッチなFaaSを作ろう Void (@k1h_tech) Cloud Native Days Summer 2025
Void ⚫ 電気通信大学 M1 ⚫ Kubernetes / Proxmox ⚫ おうちクラウド構築中 @k1h_tech csenet
ハンズオンの環境構築 どうやってます?
同じ環境を参加者に用意する方法 ⚫ イメージを作って参加者毎にVMを払い出す ⚫ コンテナイメージを配布 ⚫ 環境構築済みの物理マシンを提供 などなど
問題点 ⚫ 利用してない時もリソースが消費 ⚫ 事前にアカウント情報の配布が必要 ⚫ 手動での環境構築が面倒
リッチなFaaSを作ろう!
リッチなFaaSを作ろう! リソースが潤沢で重い処理が可能 実行環境を制御可能(ネットワーク・ストレージ)
一般的なFaaS https://api.k1h.dev Controller Launch Response Container
やりたいこと ssh [email protected] Controller Launch SSH Session Container
接続方法 ssh user01+python3@containerssh ユーザ名 環境名 LDAPに登録されたPublic Keyで認証
⚫ CNCF Sandbox ⚫ SSH接続ごとにコンテナを起動 ⚫ コンテナの設定・認証をWebhook 経由で外部サーバと連携 ⚫ Kubernetes, Docker, SSH Proxyに対応 必要な機能はあるものの単体では物足りない
ContainerSSHを拡張した部分 • ユーザの認証・認可を可能に • ユーザ自身が環境を選択可能に • 管理者用のUIを用意
Auth Config Serverを実装 Container SSH SSH auth integration LDAP Server auth (Webhook,OAuth2, Kerberos) Auth Config Server backend configuration (Image, Command, Env value, Volume) security Environment DB Image Registry
Kubernetesにデプロイ containerssh containerssh-guests containersshauthconfig ConfigMap database PV RW auth/ config mount authconfig server Pod MariaDB Pod bind containerssh ServiceAccount containersshconfig ConfigMap mount containerssh Pod Containerssh Role GuestImage Pod ほえ〜 deploy GuestImage Pod GuestImage Pod Bind/Search/Modify ldap Open LDAP SSH ・ ・ ・ mount Container SSH Auth Config Database
ドメイン名に応じた環境切り替えしたい ssh user01+python3@containerssh ssh [email protected] L4 LBなのでProxy Protocol v2で実装?
活用するアイデア募集 CTFの実行環境 大学の演習環境 Thank you! 発表機会を作っていただいた運営・スポンサーの皆様に感謝を申し上げます