DevOps エンジニアは、スーパーバイザー で実行されている vSphere 名前空間 の境界内で vSphere ポッド をデプロイし、そのライフサイクルを管理できます。

注: vSphere ポッド は、NSX ネットワーク スタックが構成されている スーパーバイザー にのみデプロイできます。Distributed Switch スタックが構成された スーパーバイザー に vSphere ポッドをデプロイすることはできません。 スーパーバイザー サービス は、NSX または Distributed Switch が構成された両方の スーパーバイザー でサポートされ、自身が使用する vSphere ポッド をデプロイします。ただし、Distributed Switch が構成されている スーパーバイザー での一般的な使用を目的として vSphere ポッド をデプロイすることはできません。

vSphere ポッド について

vSphere IaaS control plane では、Kubernetes ポッドに相当する vSphere ポッド と呼ばれる構造が導入されています。vSphere ポッド は、1 つ以上の Linux コンテナを実行する占有量の小さい仮想マシンです。各 vSphere ポッド は、格納するワークロードに応じて正確にサイズ調整され、そのワークロードに対して明示的なリソース予約を保持します。これにより、ワークロードの実行に必要な量のストレージ、メモリ、および CPU リソースが正確に割り当てられます。vSphere ポッド は、ネットワーク スタックとして NSX を使用して構成された スーパーバイザー でのみサポートされます。

図 1. vSphere ポッド
2 つの vSphere Pod ボックスを含む ESXi ホスト。各 vSphere Pod の内部ではコンテナが実行されており、Linux カーネル、メモリ、CPU、およびストレージ リソースがあります。
vSphere ポッドvCenter Server 内のオブジェクトであり、ワークロードに対して次の機能を実現します。
  • 高レベルの隔離。vSphere ポッド は、仮想マシンと同じ方法で隔離されます。各 vSphere ポッド には、Photon OS で使用されるカーネルに基づく独自の Linux カーネルがあります。vSphere ポッド では、ベアメタル構成と異なり、多くのコンテナでカーネルを共有することはありません。コンテナごとに一意の Linux カーネルがあります
  • リソース管理。vSphere DRS により、スーパーバイザー 上の vSphere ポッド の配置が処理されます。
  • 高パフォーマンス。vSphere ポッド では、仮想マシンと同じレベルのリソース隔離が実現するため、高速な起動時間と、コンテナの低オーバーヘッドを維持しながら、ノイジー ネイバー問題を回避できます。
  • 診断。vSphere 管理者は、ワークロード上の vSphere で使用可能なすべての監視ツールおよびイントロスペクション ツールを使用できます。
vSphere ポッド は Open Container Initiative (OCI) と互換性があり、任意のオペレーティング システムのコンテナを実行できます(コンテナも OCI 互換の場合に限る)。

vSphere ポッド のデプロイのガイドライン

vSphere ポッド をデプロイする前に、環境が次の要件を満たしていることを確認します。
図 2. vSphere ポッド ネットワークおよびストレージ
内部にコンテナ、コンテナ エンジン、ポッド エンジンを含む vSphere Pod。この Pod は、コンテナ イメージ、ストレージ、NSX スイッチ、Spherelet、および hostd に接続します。
名前空間
スーパーバイザー には、編集権限または所有者権限を持つ vSphere 名前空間 が構成されている必要があります。 vSphere ポッド は、NSX ネットワークを使用する 1 ゾーンの スーパーバイザー のみでサポートされます。

スーパーバイザー を作成するには、「NSX ネットワークを使用する 1 ゾーン スーパーバイザーのデプロイ」を参照してください。

名前空間の作成の詳細については、「スーパーバイザー での vSphere 名前空間 の作成と構成」を参照してください。

権限の割り当ての詳細については、「ID とアクセス管理」を参照してください。

ネットワーク
ネットワークの場合、 vSphere ポッドNSX によって提供されるトポロジを使用します。詳細については、「 スーパーバイザー ネットワーク」を参照してください。

Spherelet は、各ホストで作成される追加のプロセスです。このプロセスは、ESXi に対してネイティブに移植された kubelet であり、このプロセスによって ESXi ホストは Kubernetes クラスタのメンバーになることができます。

ストレージ

vSphere ポッド では、格納するオブジェクトに応じて、短期 VMDK、パーシステント ボリューム VMDK、およびコンテナ イメージ VMDK の 3 種類のストレージを使用します。

vSphere 管理者は、スーパーバイザー を有効にする場合、コンテナ イメージ キャッシュと短期 VMDK を配置するためのストレージ ポリシーを構成します。

vSphere 名前空間 レベルでは、パーシステント ボリュームを配置するためのストレージ ポリシーを構成します。vSphere IaaS control plane におけるストレージの要件と概念の詳細については、vSphere IaaS control plane の スーパーバイザー ワークロードでのパーシステント ストレージの使用を参照してください。