先日開催された Nutanix Meetup Hybrid 24.11 で話した「Nutanix Kubernetes Platform の仕組み入門」のスライドです。
アジェンダはこちら。
Nutanix Kubernetes Platform(NKP)の概要
NKP には、おおまかに2つの側面があり、どちらも Nutanix Cloud Platform 以外にも対応しています。
- Kubernetes クラスタ を展開する
- Kubernetes に プラットフォーム(アプリ)を展開する
今回は、Kubernetes クラスタ を展開を中心に紹介します。
ちなみに、Kubernetes Kubernetes Engine(NKE)は、現行最新の 2.10.x で終了予定らしいので、これからは NKP を使いましょう。
NKP の Web UI は、Prism とは別に提供されています。画面は NKP Starter ライセンスのものです。私の自宅では、NKP Starter を利用しています。
NKP には、2種類の Kubernetes クラスタが登場します。
- 管理クラスタ
- Management Cluster
- 用途:NKP(Kubernetes クラスタ / Application)の管理
- Self-managed Cluster として、このクラスタだけで利用できなくもない
- ワークロード クラスタ
- Managed Cluster(Cluster API では Workload Cluster)
- 用途:ユーザーがアプリを展開する。
管理クラスタ / ワークロード クラスタは、どちらも普通の Kubernetes クラスタであり、kubectl など一般的なツールで操作できます。
NKP は、Nutanix Cloud Platform 以外にも Kubernetes クラスタを展開できます。
Kubernetes の管理には Cluster API が利用されており、下記のようにさまざまなプロビジョニング先の Infrastructure Provider を追加できます。ただし、NKP Starter では Nutanix(の AHV クラスタ)のみで利用できます。
NKP の Kubernetes は、Cluster API で管理されているので「kubectl get cluster」などで確認できます。そして、NKP 独自の nkp CLI も使用できます。
ちなみに、NKP には「Workspace」という独自の管理単位がありますが、Kubernetes Namespace との対応は「nkp get workspces」などで確認できます。
NKP にアプリケーションを展開する様子についても、簡単に紹介します。
この機能は、NKP Starter では対応してらず、上位のライセンスが必要です。展開ずみの NKP Starter の Web UI に NKP Ultimate ライセンスを適用すると、下記のように真の姿になります。
たとえば、Kubernetes クラスタで NVIDIA GPU を利用可能にする、「NVIDIA GPU Operator」なども、ワン クリック的な操作でインストールできます。
NKP のアプリケーション管理の仕組みは、内部では Helm や Flux といった、一般的な Kubernetes でも利用されているソフトウェアが利用されています。また、NKP クラスタ自体は特に制限のない普通の Kubernetes なので、従来通りの kubectl apply による YAML 適用や helm コマンドの実行によるインストールもできたりします。
NKP Starter のはじめかた
NKP で、Nutanix Cloud Platform に Kubernetes クラスタを作成する流れのイメージです。ちなみに内部的には、Nutanix AHV 用の Cluster API Infrastructure Provider(通称 CAPX)が利用されます。
具体的な手順は、こちらをどうぞ。
Nutanix Support & Insights Portal では、nkp CLI と、OS イメージの qcow2 ファイルを入手しておきます。
nkp CLI は、tar.gz ファイルを展開して実行権限を付与すれば利用できます。
OS イメージは、Prism Central でイメージ サービスに登録しておきます。
- Support & Insights Portal にあるのは Rocky Linux 9.4 のみです。
- これ以外の OS は、Image Builder(Packer ベース)で作成できます。(でも NKP Starter では Rocky のみ・・・)
NKP クラスタは、nkp create cluster ~ といったコマンドで作成できます。このコマンドを実行すると、AHV 上に仮想マシンが自動展開されて、NKP の管理クラスタが作成されます。ちなみに、オプションを省略すると TUI が起動できますが、ターミナル環境によっては使いにくいので、今回は全オプション指定で実行しています。
展開先のリソースが少ない場合は、下記のようにノード数やリソース割り当てを調整できます。
管理クラスタを作成すると、Web UI も利用可能になります。ただし、デフォルトではユーザー名 / パスワードがランダム生成になっています。
NKP としては非推奨ではありますが、下記のように「nutanix」のようなローカル ユーザーを作成できます。
ワークロード クラスタは、Web UI から作成できます。(Cluster API を利用してるので、nkp CLI や kubectl でも作成できます)
NKP Starter については、こちらもどうぞ。
おまけ(NKP と NAI 2.0)
おまけパート「NKP と NAI 2.0」は別投稿にて・・・
NKP へのユーザー アプリ展開例ともいえそうな、Nutanix Enterprise AI(NAI)2.0 の様子を紹介しました。
さいごに
NKP は使いやすい普通の Kubernetes なので、NKE のかわりに使うべし。
録画
当日の録画はこちらをどうぞ。
以上。
元ファイルは こちら。