このプロジェクトについて
VirtFoundryは、既存のKubernetesクラスタをマルチテナントのプライベートクラウドに変える宣言型のクラウドネイティブIaaSレイヤーである。仮想マシンにはKubeVirt、ネットワーキングにはMultusを基盤とし、Apache 2.0ライセンスで配布されている。
このリポジトリ(virtfoundry/core)にはREST APIとWeb UIが含まれる。関連コンポーネントは別々のリポジトリにある。virtfoundry/operatorはvirtfoundry.io CRDとKubernetesオペレーターを提供し、virtfoundry/helm-chartsはHelmチャート、ドキュメント、デプロイスクリプトを保持し、virtfoundry/terraform-provider-virtfoundryはTerraformプロバイダーを提供する。
READMEに記載されている主な機能:
- マルチテナンシー: テナントごとに分離された名前空間。
- ネットワーキング: VPC、プライベートサブネット、オプションのパブリックIPプール、NetworkPolicyで実装されたセキュリティグループ。
- コンピュート: KubeVirt仮想マシン、テンプレート、オファリング、VMスナップショット、noVNCコンソール。
- ストレージ: PVCボリュームとボリュームスナップショット。ただしCSI VolumeSnapshotプロバイダーが必要(local-pathでは不十分)。
- IAM: ユーザー、ロール、vfd_live_接頭辞のAPIキー。
- パッケージング: 公式Helmチャート。
インストールはHelmで行う。ドキュメント化されたクイックスタートでは、最初にオペレーターチャート(CRDとオペレーター)をインストールし、次にAPIとUI用のメインチャートをインストールする。どちらもvirtfoundry-system名前空間にインストールし、rootパスワードとJWTシークレットを値として指定する。READMEには、クイックスタートはクラスタにKubeVirt、Multus、CDIが既にあることを前提としており、完全な前提条件についてはクイックスタートガイドとインストールガイドを参照するよう記載されている。ボリュームスナップショットには、longhornなどのスナップショットクラスを設定する必要がある。
開発では、プラットフォームの状態はvirtfoundry.io CRDを介してKubernetesに保存するか(store.driver=kubernetes、本番およびホームラボでの使用を想定)、インメモリストアに保存できる。インメモリストアはgo runでサーバーを実行する際のデフォルトであり、クラスタを必要としない。クラスタに対して実行するには、CRDがインストールされたクラスタを指すKUBECONFIGが必要である。UIはnpmで別途開発する。
READMEにはプロジェクトの製品モデルも記載されている。Apache 2.0のオープンソースコアに加え、Thurler ITによるオプションのエンタープライズコンポーネントがあり、エンタープライズサポートはCloudStackやVMwareからの移行、SSO、請求、SLAサポートをカバーする。ガバナンス、メンテナー、採用者、ロードマップ、CI要件、アーキテクチャ、VMテンプレートカタログ、CNCF Sandbox申請ドラフトはすべて、リポジトリ内の別ドキュメントとして参照されている。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.