Slide 1

Slide 1 text

Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド ネットワークコンテンツ研究会 Nekko Cloudチーム

Slide 2

Slide 2 text

Nekko Cloudチーム

Slide 3

Slide 3 text

「メンバーの自宅サーバーをVPN で繋いで、プライベートクラウド 作ろう!」っていうチーム 自称「マルチリージョンプライベートクラウド」

Slide 4

Slide 4 text

Nekko Cloudチーム ● 学生サークルのプライベートクラウド開発チーム ● 現在約10人 ● 千葉工大所属の学生が多い クラウドを 作る・使う・得た知見を共有する!

Slide 5

Slide 5 text

過去 始めたきっかけ, 立ち上げ 菊池 兼矢 𝕏: @6ftAS GitHub: @irumaru

Slide 6

Slide 6 text

きっかけ クラウド開発に興味があり,個人でプライベートクラウドを 自宅で作っていた 目的: 1. クラウド開発の勉強 2. 個人で使うアプリケーション (ファイルサーバーなど) の 実行環境や開発環境 Proxmox VE 仮想化基盤 Ceph ストレージ基盤 mariadb データベース Kubernetes コンテナ基盤

Slide 7

Slide 7 text

きっかけ 個人開発(1人)では,できることに限りがあった 1. 冗長化 2. サービスを増やす 3. システムの保守(アップデート・物理マシンの清掃) → 大変 (ほしい機能だけど興味の薄い部分はある) → 人手が欲しい&みんなでやったらなんか楽しそう!

Slide 8

Slide 8 text

きっかけ/需要調査 クラウド作っているサークルを大学内で調査 → 2023年3月時点ではなし サークル作ってみよう! サークル立ち上げのアンケート→

Slide 9

Slide 9 text

きっかけ/サークルを作る! ● 所属している技術系サークル ”ネットワークコンテンツ研究会”に新部門を設立 ● プライベートクラウドを開発するチームを作る

Slide 10

Slide 10 text

方針 ● 物理サーバをメンバーの自宅(リージョン)に分散して配置 ● VPNでリージョン間オーバーレイネットワークを構築 ● 上記のリソース上でプライベートクラウドを開発! ○ k8s ○ Ceph ○ Proxmox VE など... クラウドを 作る・使う・得た知見を共有する!

Slide 11

Slide 11 text

現在 今のNekko Cloudの姿 井上 裕介 𝕏: @cyokozai0 GitHub: @cyokozai

Slide 12

Slide 12 text

我々のプライベートクラウドの要件 dev環境: メンバーが自由に開発・検証に使える ● 部員が自由にVMを 作って・使って・壊せる 開発環境 prod環境: サークル内で利用するサービスを動かす ● 外部からのアクセス可能 ● 自動デプロイ 現在稼働中のサービス: NextCloud, Growi, Keycloak, Kubernetes, …

Slide 13

Slide 13 text

Nekko Cloudの構成 マルチリージョン プライベートクラウド 3拠点間をVPNで繋ぎクラスタを構築 ● コアネットワーク ● IaaS基盤 (Proxmox VE) ● コンテナ基盤 (Kubernetes) ● ストレージ基盤 (Ceph)

Slide 14

Slide 14 text

Nekko Cloudの構成 コアネットワーク ● 地理的に離れた3拠点を繋ぐVPN ● ソフトウェアルータVyOSを使用 ● NTT NGN網内折り返しによる 高速通信 → 拠点間RTT 約5ms で通信可能

Slide 15

Slide 15 text

Nekko Cloudの構成 IaaS基盤 (Proxmox VE) ● Nekko CloudのVM基盤 ● Proxmox VE 8.2.7 ● 自由にVMを使える

Slide 16

Slide 16 text

Nekko Cloudの構成 コンテナ基盤 (Kubernetes) ● IaaS基盤上に作成したクラスタ ● コンテナのデプロイ ● サービスの外部公開

Slide 17

Slide 17 text

Nekko Cloudの構成 ストレージ基盤 (Ceph) ● 現在開発中 ● データの冗長性を担保 (リージョンが落ちてもアクセス可能に) ● 大容量・高パフォーマンス (予定)

Slide 18

Slide 18 text

Ansible ● ソフトウェアルータVyOSの 設定を自動化 ● 最適化(Cloud-init対応, etc…) されたVMテンプレート構築 インフラ構築の最適化 手作業による人的ミスを減らし 操作内容の冪等性を確保する

Slide 19

Slide 19 text

VMを手軽に作る・壊す Service Discovery ● VMに一意にアクセスするため固有のドメインを割り振る Terrakko ● Discordからチャット感覚でVMを作成・変更・削除

Slide 20

Slide 20 text

未来 Kubernetesを地盤とする 「逆転した」クラウド 永見 拓人 𝕏: @logica0419 GitHub: @logica0419

Slide 21

Slide 21 text

今の構成をおさらい ● Proxmox VE(IaaS)の 上にKubernetes(PaaS) が乗っている ● VMとコンテナによる 「二重の仮想化」が 行われている

Slide 22

Slide 22 text

「二重の仮想化」がもたらす弊害 ● 大規模な環境では基本的に便利 ● 我々のような小規模な環境では面倒ごとが増える ○ Proxmox VEとKubernetes、どちらにも詳しくないと 管理ができない ■ 管理人数が圧倒的に足りない ○ 認証認可・監視など、欲しい要素を別々に用意 しないといけない

Slide 23

Slide 23 text

IaaSとPaaSの立場を逆転させる ● Kubernetesの管理下でVMを動かす! ○ 「KubeVirt」というOSSを使えば、VMをPodのように 扱うことが可能 ● これを使えば、ベアメタルKubernetesを中心に全てを 構築することが可能

Slide 24

Slide 24 text

何より、こんなことが 出来たら面白い! Linux開発者の名言、「Just for Fun」の精神で 開発を進めています

Slide 25

Slide 25 text

さらにその先へ: 共通認証認可基盤 ● 共通認証認可基盤プロジェクト: Kikkoff ○ メンバーポータル 兼 OIDC Provider ● メンバーポータルとして ○ Discordのみで認証する ○ ロール付け等、独立したメンバー管理機構 ● OIDC Providerとして ○ 部内アプリケーションの認証手法を統一する

Slide 26

Slide 26 text

認証の「プロキシ」イメージ ● これによって、 ○ Discordの認証でありながら ○ OIDCを使った認証情報の伝播ができる!

Slide 27

Slide 27 text

まとめ

Slide 28

Slide 28 text

まとめ ● Nekko Cloudは、「複数人でクラウドを使う・作る」と いう楽しさを共有するために始まった ● より便利なクラウド環境を目指し、今までに様々な施策 を行ってきた ● これからは、単純なOSSの組み合わせではない、我々 だけの強みを探求していきたい

Slide 29

Slide 29 text

ありがとうございました

Slide 30

Slide 30 text

Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド ネットワークコンテンツ研究会 Nekko Cloudチーム