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

Tanzu Kubernetes Grid サービス コンポーネント

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

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

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

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

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

Tanzu Kubernetes Grid サービス API

Tanzu Kubernetes クラスタをプロビジョニングおよび管理するには、Tanzu Kubernetes Grid サービス API を使用します。これは、kubectl と YAML を使用して呼び出す宣言型 API です。

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

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

Tanzu Kubernetes Grid サービス のインターフェイス

vSphere 管理者は、vSphere Client を使用して vSphere 名前空間 を設定し、権限を付与します。また、クラスタ コンポーネントが使用するリソースを監視し、これらのリソースの関連情報を vSphere インベントリで確認することもできます。

DevOps エンジニアは、kubectl 向けの vSphere プラグイン を使用して、vCenter Single Sign-On の認証情報によって vSphere 名前空間 に接続します。接続後、DevOps エンジニアは kubectl を使用して Tanzu Kubernetes クラスタをプロビジョニングします。

開発者は、プロビジョニングされたクラスタに、kubectl 向けの vSphere プラグイン と自分の vCenter Single Sign-On 認証情報を使用して接続できます。または、サポートされている Kubernetes 認証プロバイダをクラスタ管理者が構成している場合、開発者は kubectl を使用して接続できます。開発者が Kubernetes にワークロードをデプロイし、クラスタ環境を操作する際は、kubectl を使用します。

Tanzu Kubernetes Grid サービス のデモ

Tanzu Kubernetes Grid サービス を使用して Tanzu Kubernetes クラスタを作成および運用する方法については、ビデオvSphere 7 with Kubernetes - Tanzu Kubernetes cluster - Technical Overviewをご覧ください。