Tanzu Kubernetes Grid により、Tanzu Kubernetes Grid クラスタのライフサイクルをセルフサービスで管理できるようになります。Tanzu Kubernetes Grid を使用して Tanzu Kubernetes Grid クラスタを作成して管理する際は、Kubernetes のオペレータや開発者になじみのある、宣言による方法を使用します。

Tanzu Kubernetes Grid コンポーネント

Tanzu Kubernetes Grid は、Tanzu Kubernetes Grid クラスタのライフサイクルを管理するためにコントローラの 3 つのレイヤーを公開します。

  • Tanzu Kubernetes Grid は、基盤となる vSphere 名前空間 リソースと統合するために必要なコンポーネントを含むクラスタをプロビジョニングします。これらのコンポーネントには、スーパーバイザー と連携するクラウド プロバイダ プラグインが含まれています。さらに、Tanzu Kubernetes Grid クラスタは、VMware クラウド ネイティブ ストレージ (CNS) と統合されている スーパーバイザー にパーシステント ボリュームの要求を渡します。ワークロードのパーシステント ストレージを参照してください。
  • クラスタ API は、クラスタを作成、設定、および管理するための、宣言型の Kubernetes 形式 API を提供します。クラスタ API への入力には、クラスタを記述するリソース、クラスタを構成する仮想マシンを記述するリソースのセット、クラスタのアドオンを記述するリソースのセットなどがあります。
  • 仮想マシン サービス は、仮想マシンとそれに関連する vSphere リソースを管理するための、宣言型の Kubernetes 形式 API を提供します。仮想マシン サービス により、抽象的な再利用可能ハードウェア構成を表す仮想マシン クラスの概念が導入されます。仮想マシン サービス の機能を使用すると、Tanzu Kubernetes Grid クラスタをホストする制御プレーンおよびワーカー ノード仮想マシンのライフサイクルを管理できます。
図 1. Tanzu Kubernetes Grid アーキテクチャおよびコンポーネント
この図の スーパーバイザー の上では、サービスとユーザーの名前空間が実行されており、名前空間には各種のリソースが含まれています。

Tanzu Kubernetes Grid クラスタ コンポーネント

Tanzu Kubernetes Grid クラスタで実行されるコンポーネントは、認証と認可、ストレージ統合、ポッド ネットワーク、ロード バランシングの 4 つの領域にわたっています。

  • 認証 Webhook:クラスタ内のポッドとして動作し、ユーザー認証トークンを検証する Webhook。
  • コンテナ ストレージ インターフェイス プラグイン:スーパーバイザー を介して CNS と統合される準仮想化 CSI プラグイン。
  • コンテナ ネットワーク インターフェイス プラグイン:ポッド ネットワークを提供する CNI プラグイン。
  • クラウド プロバイダの実装:Kubernetes ロード バランサ サービスの作成をサポートします。

Tanzu Kubernetes Grid API

Tanzu Kubernetes Grid クラスタをプロビジョニングおよび管理するには、Tanzu Kubernetes Grid API を使用します。これは、kubectl と YAML を使用して呼び出す宣言型 API です。VMware 拡張 kubectl 実行ファイルは、スーパーバイザー API エンドポイントの IP アドレスからダウンロードできます。

宣言型 API では、システムに対して命令型のコマンドを実行するのではなく、Tanzu Kubernetes Grid クラスタが達成する目的の状態を指定します。具体的には、ノードの数、使用可能なストレージ、仮想マシンのサイズ、Kubernetes ソフトウェアのバージョンを指定します。Tanzu Kubernetes Grid は、目的の状態を満たすクラスタをプロビジョニングするための作業を実行します。

Tanzu Kubernetes Grid API を呼び出すには、YAML ファイルを使用して kubectl を呼び出します。これによって API が呼び出されます。クラスタが作成されたら、YAML を更新してクラスタを更新します。