vSphere with Tanzu を使用すると、vSphere を、Kubernetes ワークロードをハイパーバイザー レイヤーでネイティブに実行するためのプラットフォームに変換できます。vSphere クラスタで vSphere with Tanzu を有効にすると、Kubernetes ワークロードを ESXi ホストで直接実行し、専用リソース プール内にアップストリーム Kubernetes クラスタを作成する機能が提供されます。

現在のアプリケーション スタックについての課題

現在の分散システムは、一般に多数の Kubernetes ポッドと仮想マシンを実行する複数のマイクロサービスから構成されています。vSphere with Tanzu に基づかない典型的なスタックは、各仮想マシン内に Kubernetes インフラストラクチャがデプロイされた基盤となる仮想環境と、これらの仮想マシンでそれぞれ実行される Kubernetes ポッドで構成されます。スタックの各部分は、アプリケーション開発者、Kubernetes クラスタ管理者、および vSphere 管理者の 3 種類のロールによって操作されます。

図 1. 現在のアプリケーション スタック
3 つのレイヤー(Kubernetes ワークロード、Kubernetes クラスタ、仮想環境)で構成されるスタック。3 つのロール(開発者、クラスタ管理者、vSphere 管理者)によって管理されます。
各ロールは、互いの環境を可視化または制御できません。
  • アプリケーション開発者は、Kubernetes ポッドの実行と、Kubernetes ベースのアプリケーションのデプロイおよび管理を行うことができます。数百のアプリケーションを実行しているスタック全体は可視化できません。
  • DevOps エンジニアは Kubernetes インフラストラクチャのみを制御することができます。仮想環境を管理または監視することや、リソース関連の問題やその他の問題を解決することはできません。
  • vSphere 管理者は、基盤となる仮想環境を完全に制御できますが、Kubernetes インフラストラクチャ、仮想環境内でのさまざまな Kubernetes オブジェクトの配置、およびそれらのオブジェクトによるリソースの使用を可視化することはできません。

3 つのすべてのロール間の通信が必要になるため、スタック全体の操作は困難になる可能性があります。また、スタックの異なるレイヤーが統合されていないことが問題となる場合もあります。たとえば、Kubernetes スケジューラには vCenter Server インベントリに対する可視性がないため、ポッドをインテリジェントに配置することができません。

vSphere with Tanzu を使用するメリット

vSphere with Tanzu は、Kubernetes 制御プレーンをハイパーバイザー レイヤーに直接作成します。vSphere 管理者は、既存の vSphere クラスタで [ワークロード管理] を有効にして、クラスタに含まれている ESXi ホスト内に Kubernetes レイヤーを作成します。[ワークロード管理] が有効なクラスタを、スーパーバイザー クラスタ と言います。

図 2. vSphere with Tanzu

上はワークロードを含む vSphere with Tanzu スタック、下は仮想環境スタックです。2 つのロール(開発者と vSphere 管理者)によって管理されます。
ハイパーバイザー レイヤーに Kubernetes 制御プレーンがあると、vSphere で次の機能が実現します。
  • vSphere 管理者は、vSphere 名前空間 という スーパーバイザー クラスタ 上の名前空間を作成し、指定された容量のメモリ、CPU、ストレージを使用して名前空間を構成することができます。構成した vSphere 名前空間は、DevOps エンジニアに提供します。
  • DevOps エンジニアは、同じプラットフォームの Kubernetes コンテナで構成されるワークロードを、vSphere 名前空間 内の共有リソース プールで実行できます。vSphere with Tanzu では、コンテナは vSphere ポッド と呼ばれる特別なタイプの仮想マシン内で実行されます。通常の仮想マシンをデプロイすることもできます。
  • DevOps エンジニアは、名前空間内の複数の Kubernetes クラスタを作成および管理し、Tanzu Kubernetes Grid サービス を使用してライフサイクルを管理できます。Tanzu Kubernetes Grid サービス を使用して作成された Kubernetes クラスタは、Tanzu Kubernetes クラスタと呼ばれます。
  • vSphere 管理者は、vSphere Client を使用して、vSphere ポッド、仮想マシン、および Tanzu Kubernetes クラスタを管理および監視できます。
  • vSphere 管理者は、異なる名前空間内で実行されている vSphere ポッド、仮想マシン、Tanzu Kubernetes クラスタ、環境内でのそれらの配置、およびそれらのオブジェクトによるリソースの使用方法を完全に可視化できます。

ハイパーバイザー レイヤーで Kubernetes を実行していると、vSphere 管理者と DevOps チームの両方のロールが同じオブジェクトを操作するため、共同作業も容易になります。

ワークロードについて

vSphere with Tanzu では、ワークロードとは次のいずれかの方法でデプロイされたアプリケーションを指します。

  • vSphere ポッド、通常の仮想マシン、またはその両方で実行されているコンテナで構成されるアプリケーション。
  • VMware Tanzu™ Kubernetes Grid™ サービス を使用してデプロイされた Tanzu Kubernetes クラスタ。
  • VMware Tanzu™ Kubernetes Grid™ サービス を使用してデプロイされた Tanzu Kubernetes クラスタ内で実行されるアプリケーション。