スーパーバイザー クラスタを使用する vSphere の構成ファイル

このトピックでは、vSphere 8 with Tanzu にデプロイする前に、フラット構成ファイルまたは Kubernetes スタイルのオブジェクト仕様を使用して、Tanzu Kubernetes Grid (TKG) のワークロード クラスタを構成する方法について説明します。スタンドアローン管理クラスタを使用して、ワークロード クラスタを vSphere に展開するように構成するには、「スタンドアローン管理クラスタを使用する vSphere の構成ファイル」を参照してください。

構成ファイルとオブジェクト仕様を使用してワークロード クラスタを構成する方法の一般的な情報については、「構成ファイルとオブジェクト仕様」を参照してください。

クラスタの構成ファイルまたはオブジェクト仕様に含まれない構成を必要とする vSphere 固有のワークロード クラスタ機能を使用するには、「vSphere 上のクラスタ」を参照してください。

概要

ワークロード クラスタを vSphere with Tanzu に展開する前に構成する場合、クラスベースのクラスタを構成する際は Kubernetes スタイルのオブジェクト仕様ファイルを作成し、TKC クラスタを構成する際はクラスタ構成ファイルを作成します。これらのファイルのいずれかを tanzu cluster create-f オプションに渡すと、Tanzu CLI はファイルで定義されている構成情報を使用して vSphere アカウントに接続し、クラスタが使用するリソースを作成します。

構成するもの:

上記のクラスタ タイプの詳細については、「ワークロード クラスタ タイプ」を参照してください。

スーパーバイザーで展開されたクラスベースのクラスタの構成

vSphere 8 with Tanzu への展開のためにワークロード クラスタを構成するには、次の手順を実行します。

  1. Cluster オブジェクト仕様を作成または適用します。vSphere 8 のドキュメントには、作業用のサンプルとして使用できる Cluster オブジェクト仕様があります。

    仕様ファイルの topology ブロックで、仮想マシンのタイプ、スケール、およびその他の基本的なクラスタ構成を設定します。topology ブロックの詳細については、以下の「クラスベースのクラスタ オブジェクトとトポロジ構造」および「ClusterClass トポロジ変数」を参照してください。

  2. (オプション)クラスタ インフラストラクチャのコンテナ インターフェイスのワンタイム設定など、Cluster オブジェクト自体で設定できない属性をカスタマイズするには、「インフラストラクチャのワンタイム設定の構成」を参照してください。

クラスベースのクラスタ オブジェクトとトポロジ構造

Cluster オブジェクトでタイプ tanzukubernetescluster で構成可能なトップレベルの設定は、次のように構成されています。構成可能な variables については、「ClusterClass トポロジ変数」を参照してください。

spec:
  clusterNetwork
    apiServerPort
    services
      cidrBlocks
    pods
      cidrBlocks
    serviceDomain
  controlPlaneEndpoint
    host
    port
  topology
    class
    version
    rolloutAfter
    controlPlane
      metadata
      replicas
      nodeDrainTimeout
      nodeDeletionTimeout
      machineHealthCheck
        maxUnhealthy
        nodeStartupTimeout
        unhealthyConditions
    workers
      machineDeployments
        metadata
        - class
        name
        failureDomain
        replicas
        nodeDrainTimeout
        nodeDeletionTimeout
        machineHealthCheck
          maxUnhealthy
          nodeStartupTimeout
          unhealthyConditions
        variables
          name
          value
  variables
    name
    value

これらのフィールドは、Cluster オブジェクト タイプ仕様 cluster_types.go で設定されます。

  • オプションのフィールドjson: 設定により、各フィールドがオプションであるどうかが分かります。オプションのフィールドには、omitempty 設定があります。
  • タイプ仕様のリファレンスによってネストされた構造は、オブジェクト仕様 YAML ではインデントされます。たとえば、Topology 構造体のタイプ仕様には *Workers が含まれているため、オブジェクト仕様では workerstopology の下にインデントされます。

- class および variables オプションは、Cluster オブジェクトのクラスタ クラスで定義されます。これは、クラスタの spec.topology.class 値として設定されます。たとえば、vSphere with Tanzu では、tanzukubernetescluster という名前の ClusterClass オブジェクトであり、TanzuKubernetesCluster オブジェクトとは異なります(「ワークロード クラスタ タイプ」を参照)。

構成可能な variables には、vmClassstorageClassproxynodeLabelsextensionCert および「ClusterClass トポロジ変数」に一覧表示されているその他の多くの変数が含まれます。これらの変数は、KubeAdmConfigMachine オブジェクトなど、クラスタ オブジェクトの基盤となるオブジェクトの設定を構成およびオーバーライドします。

ClusterClass トポロジ変数

tanzukubernetescluster クラスタ クラス(vSphere with Tanzu 上の TKG のワークロード クラスタのデフォルトの ClusterClass)は、topology.variables および topology.workers.machineDeployments.variables で設定された次の変数をサポートします。ノード プールなど、マシン展開に固有の変数設定はグローバル設定をオーバーライドします。

これらの変数は、KubeAdmConfig および Machine オブジェクトで設定された vmClassstorageClass、および proxy 設定など、クラスタ オブジェクトの基盤となるオブジェクトの設定を構成およびオーバーライドします。これにより、ユーザーは下位レベルのオブジェクト仕様を編集することなく、Cluster オブジェクト仕様内でクラスタを完全に構成できます。

  • clusterEncryptionConfigYaml
  • controlPlaneVolumes
  • defaultRegistrySecret
  • defaultStorageClass
  • extensionCert
  • nodePoolLabels
  • nodePoolTaints
  • nodePoolVolumes
  • ntp
  • proxy
  • storageClass
  • storageClasses
  • TKR_DATA
  • trust
  • user
  • vmClass

vSphere 8 ドキュメント内の次のトピックでは、storageClass および vmClass の設定を変更して実行中のクラスタを再構成する方法について説明します。

スーパーバイザーで展開された TKC クラスタの構成(レガシー)

vSphere 8 の TKC(レガシー)ワークロード クラスタのクラスタ構成ファイルを作成するには、以前の展開の既存の構成ファイルを vSphere with Tanzu にコピーし、それを更新します。また、空のテンプレートを使用してファイルを最初から作成することもできます。

vSphere with Tanzu スーパーバイザーで展開されたワークロード クラスタを構成するには、ストレージ クラス、仮想マシン クラス、サービス ドメイン、名前空間、およびクラスタを作成するために必要なその他の値を定義する変数を設定します。次の表に、TKC ベースのクラスタの構成ファイルに含めることができる変数を示します。また、これらはローカル環境変数として設定することもできます。

必要な変数
変数 値のタイプまたは例 説明
INFRASTRUCTURE_PROVIDER tkg-service-vsphere vSphere with Tanzu の TanzuKubernetesCluster オブジェクトに対しては常に tkg-service-vsphere です。
CLUSTER_PLAN devprod、またはカスタム プラン ノード数を設定します。
CLUSTER_CIDR CIDR 範囲 ポッドに使用する CIDR 範囲。推奨される範囲は 100.96.0.0/11 です。この値は、推奨される範囲が使用できない場合にのみ変更してください。
SERVICE_CIDR Kubernetes サービスに使用する CIDR 範囲。推奨される範囲は 100.64.0.0/13 です。この値は、推奨される範囲が使用できない場合にのみ変更してください。
SERVICE_DOMAIN ドメイン 例:my.example.com または cluster.local(DNS がない場合)ノードで FQDN を割り当てる場合は、DNS ルックアップが必要です。
CONTROL_PLANE_VM_CLASS vSphere with Tanzu の標準仮想マシン クラス(guaranteed-largeなど)。
vSphere with Tanzu ドキュメントの「スーパーバイザーの TKG クラスタでの仮想マシン クラスタの使用」を参照してください。
制御プレーン ノードの仮想マシン クラス
WORKER_VM_CLASS ワーカー ノードの仮想マシン クラス
オプションの変数
変数 値のタイプまたは例 説明
CLUSTER_NAME 文字列 tanzu cluster create に渡される CLUSTER-NAME 引数によってオーバーライドされます。
この名前は、RFC 952 で概説され、RFC 1123 で修正された DNS ホスト名の要件に準拠する必要があり、42 文字以下である必要があります。Note:すべての名前空間のすべてのワークロード クラスタに一意の名前を指定する必要があります。別の名前空間で使用されているクラスタ名を指定すると、エラーが発生してクラスタの展開が失敗します。
NAMESPACE 名前空間。デフォルトは default です。 クラスタを展開する名前空間。スーパーバイザーの名前空間を見つけるには、kubectl get namespaces を実行します。
CNI antrea または calico。デフォルトは antrea です。 ホストされたワークロード用のコンテナ ネットワーク インターフェイス(Antrea または Calico のいずれか)。
CONTROL_PLANE_MACHINE_COUNT 整数。CONTROL_PLANE_MACHINE_COUNT は奇数にする必要があります。
CLUSTER_PLAN で設定されているように、dev の場合のデフォルトは 1prod の場合のデフォルトは 3 に設定されます。
dev または prod プランのデフォルトよりも多くの制御プレーン ノードを持つワークロード クラスタを展開します。
WORKER_MACHINE_COUNT dev または prod プランのデフォルトよりも多くのワーカー ノードを持つワークロード クラスタを展開します。
STORAGE_CLASSES 空の文字列 "" の場合、クラスタは名前空間内の任意のストレージ クラスを使用するか、kubectl get storageclasses のカンマ区切りの値のリスト(例:"SC-1,SC-2,SC-3")を使用します。 ノードのカスタマイズに使用できるストレージ クラス。
DEFAULT_STORAGE_CLASS デフォルト値がない場合は空の文字列 ""、または上記のような CLI からの値。 制御プレーンまたはワーカーのデフォルトのストレージ クラス。
CONTROL_PLANE_STORAGE_CLASS kubectl get storageclasses から返される値 制御プレーン ノードのデフォルトのストレージ クラス。
WORKER_STORAGE_CLASS ワーカー ノードのデフォルトのストレージ クラス。
NODE_POOL_0_NAME 文字列 ノード プール名、ラベル、およびテイント。TanzuKubernetesCluster に設定できるノード プールは 1 つだけです。
NODE_POOL_0_LABELS 文字列の JSON リスト。例:["label1", "label2"]["label1", "label2"]
NODE_POOL_0_TAINTS キーと値のペア文字列の JSON リスト。例:[{"key1": "value1"}, {"key2": "value2"}]

上記の変数は、次のいずれかを実行して設定できます。

  • Tanzu CLI の --file オプションに渡されるクラスタ構成ファイルにこれらの変数を含めます。例:

    CONTROL_PLANE_VM_CLASS: guaranteed-large
    
  • コマンド ラインから、コマンド ラインで export(Linux および macOS)または SET(Windows) を実行して、ローカル環境変数として設定します。例:

    export CONTROL_PLANE_VM_CLASS=guaranteed-large
    

    ワークロード クラスタに一意のプロキシ設定を構成する場合は、TKG_HTTP_PROXYTKG_HTTPS_PROXY、および NO_PROXY を環境変数として設定してから、Tanzu CLI を使用してクラスタを作成できます。これらの変数は、vSphere with Tanzu の既存のプロキシ構成よりも優先されます。

次の手順

ワークロード クラスタの作成」に進みます。ワークロード クラスタを vSphere に展開した後、「ノードの DHCP 予約とエンドポイント DNS レコードの構成(vSphere のみ)」の説明に従って、ノードの DHCP 予約とエンドポイント DNS を構成する必要があります。

check-circle-line exclamation-circle-line close-line
Scroll to top icon