TKG クラスタ ワークロードでは、パーシステント ストレージが必要になることがあります。TKG サービス クラスタの vSphere ストレージの概念と考慮事項については、このトピックの情報を参照してください。
TKG サービス クラスタの vSphere ストレージ ポリシー
TKG サービス クラスタにパーシステント ストレージ リソースを提供するために、vSphere 管理者は、さまざまなストレージ要件を記述する vSphere ストレージ ポリシーを構成します。次に、1 つ以上のストレージ ポリシーを、TKG クラスタがデプロイされる vSphere 名前空間に追加します。vSphere 名前空間に割り当てられたストレージ ポリシーでは、TKG クラスタ ノードとワークロードを vSphere ストレージ環境に配置する方法、および TKG クラスタからアクセスしてパーシステント ストレージに使用できるデータストアが決定されます。
vSphere ストレージ ポリシーが vSphere 名前空間に割り当てられると、その vSphere 名前空間に対応する Kubernetes ストレージ クラスがシステムによって作成されます。対応する Kubernetes ストレージ クラスは、その vSphere 名前空間でプロビジョニングされた TKG クラスタに伝達されます。
TKG クラスタでは、各ストレージ クラスに 2 つのエディション(Immediate および WaitForFirstConsumer バインド モード)があります。選択するエディションは、要件によって異なります。TKG サービス クラスタのストレージ クラス エディションを参照してください。
TKG サービス クラスタと vSphere ストレージの統合方法
スーパーバイザーと vSphere ストレージを統合するために、TKG クラスタでは準仮想化 CSI (pvCSI) が使用されます。
pvCSI は TKG クラスタ用に変更された vSphere CNS-CSI ドライバのバージョンです。pvCSI は TKG クラスタに配置され、TKG クラスタから送信されるすべてのストレージ関連の要求に対処します。要求は CNS-CSI に配信され、vCenter Server の CNS に伝達されます。その結果、pvCSI は CNS コンポーネントとの直接通信は行わず、すべてのストレージ プロビジョニング操作に CNS-CSI を使用します。CNS-CSI とは異なり、pvCSI はインフラストラクチャの認証情報を必要としません。vSphere 名前空間 のサービス アカウントを使用して構成されます。
パーシステント ボリュームの作成方法
次の図は、TKG クラスタ内のストレージ関連の操作(パーシステント ボリューム要求 (PVC) の作成など)に対して、さまざまなコンポーネントがどのように相互作用するかを示しています。
DevOps エンジニアは TKG クラスタで kubectl を使用して PVC を作成します。このアクションにより、スーパーバイザーで一致する PVC が生成され、CNS-CSI がトリガされ、CNS ボリューム作成 API が呼び出されます。
ボリュームの作成が正常に完了すると、操作はスーパーバイザーを介して元の TKG クラスタに伝達されます。クラスタ ユーザーは、バインド状態のパーシステント ボリュームとパーシステント ボリューム要求をスーパーバイザーで確認できます。また、バインド状態のパーシステント ボリュームとパーシステント ボリューム要求は TKG クラスタでも確認できます。