ワークロード クラスタ

このトピックでは、Tanzu Kubernetes Grid (TKG) によって作成されるさまざまなタイプのワークロード クラスタと、それらの構成および作成方法について説明します。

ワークロード クラスタ タイプ:クラスベース、TKC、およびプランベース

Tanzu Kubernetes Grid は、次の 3 つの異なるタイプのワークロード クラスタをホストします。

  • クラスベースのクラスタ
    • Cluster タイプの Kubernetes オブジェクトである
    • vSphere with Tanzu 8 および TKG 2.x で導入された新しいタイプのクラスタである
    • 基本トポロジが spec.topology ブロックで定義されている
      • たとえば、ワーカー ノードと制御プレーン ノードの数とタイプ
    • spec.topology.class 値から構成を継承する
      • ClusterClass オブジェクトを参照
      • スーパーバイザーの場合、デフォルトの classtanzukubernetescluster
      • スタンドアローン管理クラスタでは、デフォルトの classtkg-INFRASTRUCTURE-default-VERSION (例:tkg-vsphere-default-v1.0.0)です。
    • vSphere with Tanzu 8 のスーパーバイザーを使用するか、スーパーバイザーを使用しない vSphere 6.7、7、および 8 または AWS、Azure でスタンドアローン TKG v2.x 管理クラスタを使用することにより作成できます。
  • TKC ベースのクラスタ(レガシー)
    • TanzuKubernetesCluster タイプの Kubernetes オブジェクトである
    • vSphere 7 のスーパーバイザー クラスタを使用するか、または レガシーの目的で vSphere 8 のスーパーバイザーによって作成できます。
  • プランベースのクラスタ(レガシー)
    • Cluster タイプの Kubernetes オブジェクトである
    • スーパーバイザーを使用しない vSphere 6.7、7、および 8、または AWS、Azure でスタンドアローン TKG v2.x または v1.x 管理クラスタを使用して作成できます。

class: tanzukubernetescluster(すべて小文字)のクラスベースのクラスタは、オブジェクト タイプが TanzuKubernetesCluster の TKC ベースのクラスタとは異なります。

クラスベースのクラスタは、両方のタイプの管理クラスタに対して同じ API を提供することで、他の 2 つのクラスタ タイプを置き換えるように設計されています。スーパーバイザーおよびスタンドアローン管理クラスタ。

重要

Tanzu Kubernetes Grid v2.4.x は、AWS および Azure での TKG ワークロード クラスタの作成をサポートする TKG の最後のバージョンです。AWS および Azure で TKG ワークロード クラスタを作成する機能は、Tanzu Kubernetes Grid v2.5 リリースで削除されます。詳細については、『VMware Tanzu Kubernetes Grid v2.4 Release Notes』の「AWS および Azure での TKG 管理クラスタとワークロード クラスタの廃止」を参照してください。

クラスタ タイプとクラスタ API

ワークロード クラスタを作成および管理するために、管理クラスタはクラスタ API ソフトウェアを実行します。

  • クラスタ API - Kubernetes クラスタを作成および管理するためのオープンソースの Kubernetes ソフトウェア。
  • クラスタ API プロバイダ - クラスタ API をサポートするためのインターフェイスとして特定のクラウドまたは物理インフラストラクチャで実行されるソフトウェア。
    • ほとんどのクラスタ API プロバイダ ソフトウェア プロジェクトはオープンソースですが、一部は独自仕様です。

次の表は、管理およびワークロード クラスタ タイプを、使用するクラスタ API プロバイダにマッピングしたものです。

TKG と共に使用 使用するクラスタ API プロバイダ 場所 作成および管理するワークロード クラスタのタイプ 製品バージョン
スーパーバイザー CAPW(独自仕様) vSphere クラスベースの Cluster オブジェクト TKG 2.x および vSphere with Tanzu 8
TanzuKubernetesCluster オブジェクト vSphere with Tanzu 7 & 8
スタンドアローン管理クラスタ CAPA (OSS) AWS クラスベースの Cluster オブジェクト TKG v2.x
プランベースの AWSCluster オブジェクト TKG v2.x および v1.x
CAPZ (OSS) Azure クラスベースの Cluster オブジェクト TKG v2.x
プランベースの AzureCluster オブジェクト TKG v2.x および v1.x
CAPV (OSS) vSphere クラスベースの Cluster オブジェクト TKG v2.x
プランベースの VSphereCluster オブジェクト TKG v2.x および v1.x

クラスタ タイプと Tanzu CLI の互換性

さまざまなバージョンの Tanzu Kubernetes Grid に同梱されているさまざまなバージョンの Tanzu CLI により、vSphere 8 のスーパーバイザー、vSphere 7 のスーパーバイザー クラスタ、またはスーパーバイザーを使用しない vSphere 6.7、7、および 8、または AWS、Azure のスタンドアローン管理クラスタのどれを使用しているかに応じて、さまざまなタイプのクラスタを作成できます。

CLI バージョン TKG バージョン クラスベースのクラスタの作成に使用 プランベースのクラスタの作成に使用 TanzuKubernetesClusters の作成に使用
スタンドアローン管理クラスタ vSphere 8 のスーパーバイザー vSphere 7 のスーパーバイザー クラスタ スタンドアローン管理クラスタ vSphere 8 のスーパーバイザー vSphere 7 のスーパーバイザー クラスタ スタンドアローン管理クラスタ vSphere 8 のスーパーバイザー vSphere 7 のスーパーバイザー クラスタ
v0.90.1* 2.3.0 x x x x
v0.29.0 2.2.0 x x x x
v0.28.1 2.1.1 x x x x
v0.25.4 1.6.1 x x x x
v0.25.0 1.6.0 x x x x
v0.11.x 1.5.x x x x x x x x

* Tanzu Kubernetes Grid v2.4 と互換性のある CLI バージョンの完全なリストについては、「 製品の相互運用性マトリックス」を参照してください。

ワークロード クラスタ オブジェクトのサブコンポーネント

クラスベースのクラスタには、次のようなオブジェクト タイプの上位階層があります。KubeAdmControlPlaneMachineDeployment の基盤となるオブジェクトは同じタイプですが、通常は異なるオブジェクトです。

  • Cluster - 仕様の topology ブロックによって設定された制御プレーンとワーカー ノードの数とタイプ
    • KubeAdmControlPlane - 制御プレーン ノードを定義します。
      • IaaS 固有のマシン オブジェクト - 例:vSphereMachineAWSMachineDockerMachine
      • Machine - ノード仮想マシン用の汎用オブジェクト
      • KubeAdmConfig - Kubernetes 構成(Kubernetes のバージョン、イメージ リポジトリ、デプロイ前およびデプロイ後のフックなど)
    • MachineDeployment - ワーカー ノードを定義します。
      • IaaS 固有のマシン オブジェクト
      • Machine
      • KubeAdmConfig

詳細については、『The Cluster API Book』の「CustomResourceDefinitions relationships」を参照してください。

ワークロード クラスタの作成方法

インストールされている環境に応じて、Tanzu CLI、Tanzu Mission Control、kubectl など、さまざまな方法で Tanzu Kubernetes Grid ワークロード クラスタを作成できます。

次のチャートは、ユーザーがさまざまなインフラストラクチャでさまざまなタイプのワークロード クラスタを作成する方法の概要を示しています。

使用ツール 作成するクラスタ 設定値の取得元 テンプレートの取得元 方法
Tanzu CLI:
tanzu cluster create
クラスベースのワークロード クラスタ (vSphere) Clusterおよび基盤となるオブジェクト仕様 ユーザー(classycluster.yaml など) クラスベースのクラスタを作成する
TanzuKubernetesCluster ワークロード クラスタ (vSphere) クラスタ構成ファイル、
ローカル環境、
(詳細)ytt オーバーレイ
infrastructure-tkg-service-vsphere* (レガシー)プランベースまたは TKC クラスタの作成
プランベースのワークロード クラスタ(vSphere、AWS、Azure) infrastructure-vsphere
infrastructure-aws
infrastructure-azure*
Tanzu Mission Control (TMC) TanzuKubernetesCluster またはプランベースのワークロード クラスタ TMC ユーザー インターフェイス 登録済み管理クラスタ ワークロード クラスタのプロビジョニング
kubectl apply クラスベースまたはTanzuKubernetesCluster ワークロード クラスタ (vSphere) Clusterおよび基盤となるオブジェクト仕様 ユーザー(classycluster.yamltkc.yaml など) 宣言によるワークロード クラスタの作成

*.config/tanzu/tkg/providers/ の下のローカル ディレクトリ

レガシー TKC ベースおよびプランベースのクラスタ構成について

Tanzu CLI は、TKC ベースのワークロード クラスタを作成するときに、次の構成値を組み合わせます。

  • 呼び出し時のライブ入力
    • CLI 入力
  • 環境変数
  • ~/.config/tanzu/tkg/cluster-config.yaml または CLI --file オプションに渡されるその他のファイル
  • 以下の「プラン構成ファイル」で説明されている ~/.config/tanzu/tkg/providers/infrastructure-tkg-service-vsphere 内のクラスタ プランの YAML 構成ファイル。
  • その他の ~/.config/tanzu/tkg/providers のプラン以外の YAML 構成ファイル

ライブ入力は各呼び出しに固有の設定値を適用します。それらの値は、環境変数によってターミナル セッション間で保持され、構成ファイルとオーバーレイでは無期限に保持されます。これらのソースのいずれかを使用してクラスタをカスタマイズできます。推奨事項と注意事項については、以下を参照してください。

tanzu CLI が競合の可能性がある複数のソースから特定のクラスタ構成値を取得する方法については、「構成値の優先順位」を参照してください。

プラン構成ファイル

~/.config/tanzu/tkg/providers/infrastructure-tkg-service-vsphere ディレクトリには、cluster-template-definition-PLAN.yaml という名前の TKC ワークロード クラスタ プラン構成ファイルが含まれています。各プランの構成値は、これらのファイルと、spec.paths にリストされているファイルから取得されます。

  • tanzu CLI に同梱されている構成ファイル
  • ユーザーが作成し、spec.paths リストに追加するカスタム ファイル
  • 他の構成ファイルの値を上書きするためにユーザーが作成または編集する ytt オーバーレイ

編集するファイルと編集しないファイル

YAML を使用してクラスタ プランをカスタマイズするには、~/.config/tanzu/tkg/providers/infrastructure-tkg-service-vsphere にあるファイルを編集します。それ以外の場所のファイルは変更しないでください。

編集するファイル

ワークロード クラスタ プラン構成ファイルのパスは、~/.config/tanzu/tkg/providers/infrastructure-infrastructure-tkg-service-vsphere/VERSION/cluster-template-definition-PLAN.yaml の形式に従います。ここで、

  • VERSION は、構成で使用されるクラスタ API プロバイダ モジュールのバージョンです。
  • PLANdevprod、またはカスタム プランです。

各プラン構成ファイルには、spec.paths セクションがあり、ソース ファイルと、クラスタ プランを構成する ytt ディレクトリが一覧表示されます。例:

apiVersion: providers.tanzu.vmware.com/v1alpha1
kind: TemplateDefinition
spec:
  paths:
    - path: providers/infrastructure-tkg-service-vsphere/v1.1.0/ytt
    - path: providers/ytt
    - path: bom
      filemark: text-plain
    - path: providers/config_default.yaml

これらのファイルは、リストされている順序で処理されます。同じ構成フィールドが複数のファイルに設定されている場合、最後に処理された設定が tanzu CLI によって使用されます。

クラスタ構成をカスタマイズするには、次の操作を実行します。

  • 新しい構成ファイルを作成し、spec.paths リストに追加します。
    • これは簡単な方法です。
  • 既存の ytt オーバーレイ ファイルを変更します。
    • ytt に慣れているユーザーにとって、これはより強力な方法です。

編集しないファイル

VMware は、別段の指示がない限り、~/.config/tanzu/tkg/providers の下にある次のファイルを変更することを推奨しません。

  • ytt ディレクトリ内の base-template.yaml ファイル

    • これらの構成ファイルは、Kubernetes SIGs、およびその他のアップストリームのオープンソース プロジェクトの下にあるクラスタ API プロバイダ リポジトリの値を使用するため、変更しないことを推奨します。
    • 代わりに、新しい構成ファイルを作成するか、「ytt を使用した高度な TKC 構成」の「クラスタとクラスタ プラン」を参照して、同じ ytt ディレクトリ内の overlay.yaml ファイルに値を設定します。
  • ~/.config/tanzu/tkg/providers/config_default.yaml - 追加のみ

    • このファイルには、Tanzu Kubernetes Grid のシステム全体のデフォルトが含まれています。
    • このファイルの既存の値は変更しないでください。ただし、末尾に User Customizations セクションを追加することは可能です。
    • このファイルの値を変更する代わりに、tanzu cluster create--file オプションに渡すファイルでクラスタ構成をカスタマイズします。
  • ~/.config/tanzu/tkg/providers/config.yaml

    • tanzu CLI は、/providers ディレクトリにあるすべてのプロバイダとそのデフォルト バージョンのリファレンスとしてこのファイルを使用します。

構成値の優先順位

Tanzu CLI は、TKC ベースのワークロード クラスタを作成するときに、複数のソースの構成値を組み合わせます。これらのソースが競合する場合、次の降順の優先順位で競合を解決します。

処理レイヤー(降順の優先順位) ソース
1.ローカル環境で設定されたクラスタ構成変数 シェルで設定します。 export WORKER_VM_CLASS=best-effort-large
2.tanzu config set env. を使用して Tanzu CLI で設定されたクラスタ構成変数。 シェルで設定します。グローバル Tanzu CLI 構成ファイル、~/.config/tanzu/config.yaml に保存されます。 tanzu config set env.WORKER_VM_CLASS best-effort-large
3.クラスタ構成ファイルに設定されたクラスタ構成変数 tanzu cluster create--file オプションに渡すファイルで設定します。デフォルトのファイルは ~/.config/tanzu/tkg/cluster-config.yaml です。 WORKER_VM_CLASS: best-effort-large
4.工場出荷時のデフォルト構成値 providers/config_default.yaml で設定しますが、一部のフィールドはデフォルト値なしで一覧表示されます。このファイルは変更しないでください。 WORKER_VM_CLASS:
check-circle-line exclamation-circle-line close-line
Scroll to top icon