クラウド使用量インターフェイス (CCI) 要素を追加して、VMware Aria Automation テンプレート内で CCI サービスを使用すると、ユーザーはスーパーバイザー名前空間内の仮想マシン サービスと Tanzu Kubernetes Grid サービスを使用して Kubernetes ベースのワークロードを申請できます。
CCI 要素を表示するには、クラウド テンプレートのリソース ライブラリ内の [クラウド使用量インターフェイス] セクションを展開するか、[リソース タイプの検索] フィールドに cci と入力します。
スーパーバイザー名前空間リソース
|
リソース制限、ユーザー アクセス、使用可能なスーパーバイザー サービスを含む Kubernetes ベースのワークスペースを提供する新しいスーパーバイザー名前空間を作成して、ユーザーがアプリケーションのニーズに基づいて仮想マシンと TKG リソースをプロビジョニングできるようにします。 |
スーパーバイザー リソース
|
構成するスーパーバイザー リソースに渡される Kubernetes マニフェストに応じて、サポートされている任意のスーパーバイザー Kubernetes リソース(virtualmachines 、virtualmachineservices 、tanzukubernetesclusters 、persistentvolumeclaims 、secrets など)をスーパーバイザー名前空間内に作成します。 |
TKG リソース
|
サポートされている任意の Kubernetes リソースを TKG クラスタ内に作成します。 |
CCI.Supervisor.Namespace
キャンバスに直接ドロップします。CCI.Supervisor.Resource
スーパーバイザー名前空間リソースにドロップするか、キャンバスに直接ドロップします。CCI.TKG.Resource
別の TKG リソース、スーパーバイザー リソースにドロップするか、またはキャンバスに直接ドロップします。CCI リソースは、5 つのレベルのネストに制限されます。
以下のキャンバス ビューでは、TKG リソースが cciTKGCluster という名前のスーパーバイザー リソースにドラッグされています。TKG リソースを含むスーパーバイザー リソースを含むスーパーバイザー名前空間には、3 つのレベルのネストが表示されます。
以下の例は、クラウド テンプレートの YAML コードで CCI リソース(cciNamespace、cciTKGCluster など)がどのように表示されるかを示しています。それぞれの例は、重要な行のみを表示するよう省略しています。
スーパーバイザー名前空間リソースの例
CCI.Supervisor.Namespace は、アプリケーション用のユーザーが管理する vSphere スーパーバイザー IaaS リソースが作成されるスーパーバイザー Kubernetes ベースのワークスペースを表します。
この例では、cciNamespace という名前の CCI スーパーバイザー名前空間リソースを定義して、demo というスーパーバイザー名前空間をプロビジョニングします。
name
プロパティの値を入力する必要があります。
formatVersion: 1 inputs: {} resources: cciNamespace: type: CCI.Supervisor.Namespace properties: name: demo className: default regionName: dev-us-west
スーパーバイザー リソースの例
CCI.Supervisor.Resource を使用して、スーパーバイザー名前空間コンテキスト内での実行がサポートされている Kubernetes オブジェクトの Kubernetes マニフェストを渡します。
- 特定のスーパーバイザー名前空間内にスーパーバイザー リソースをプロビジョニングするには、スーパーバイザー リソースの context プロパティを構成します。そのためには、テンプレート バインド式を使用して、リソースをスーパーバイザー名前空間 ID にマッピングします(例:context: ${resource.cciNamespace.id})。
- プロビジョニングするオブジェクトを指定するには、作成する Kubernetes オブジェクトに Kubernetes マニフェストを渡して、スーパーバイザー リソースの manifest プロパティを構成します。
formatVersion: 1 inputs: {} resources: cciTKGCluster: type: CCI.Supervisor.Resource properties: context: ${resource.cciNamespace.id} manifest: apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: name: ${input.tkg_Name} labels: tkg-cluster-selector: ${input.tkg_Name} spec: clusterNetwork: cni: name: antrea pods: cidrBlocks: - 192.168.156.0/20 services: cidrBlocks: - 10.96.0.0/12 serviceDomain: cluster.local topology: class: tanzukubernetescluster version: v1.24.9---vmware.1-tkg.4 variables: - name: storageClasses value: - tmm-kubernetes-storage-policy - name: defaultStorageClass value: tmm-kubernetes-storage-policy - name: vmClass value: ${input.controlPlaneVmClassName} - name: storageClass value: tmm-kubernetes-storage-policy controlPlane: replicas: ${input.controlPlaneCount} metadata: annotations: run.tanzu.vmware.com/resolve-os-image: os-name=photon workers: machineDeployments: - class: node-pool name: ${input.tkg_Name}-nodepool replicas: ${input.workerCount} metadata: annotations: run.tanzu.vmware.com/resolve-os-image: os-name=photon variables: overrides: - name: vmClass value: ${input.workerVmClassName}
formatVersion: 1 inputs: {} resources: vm: type: CCI.Supervisor.Resource properties: context: ${resource.cciNamespace.id} manifest: apiVersion: vmoperator.vmware.com/v1alpha1 kind: VirtualMachine metadata: finalizers: - virtualmachine.vmoperator.vmware.com generation: 1 labels: vm-selector: vm-2rfx name: vm-2rfx spec: className: best-effort-xsmall imageName: vmi-c3d184be88e1af1cd networkInterfaces: - networkType: nsx-t powerOffMode: hard powerState: poweredOn restartMode: hard storageClass: vsan-default-storage-policy suspendMode: hard wait: conditions: - type: VirtualMachinePrereqReady status: "False" reason: VirtualMachineImageNotReady indicatesFailure: true
キャンバスでは、スーパーバイザー名前空間 cciNamespace に 2 つのスーパーバイザー リソース cciTKGCluster および vm が含まれています。
TKG リソースの例
- TKG リソースを TKG クラスタにバインドするには、context プロパティを使用してスーパーバイザー TKG クラスタ リソースの ID をマッピングします(例:context: ${resource.cciTKGCluster.id})。
- たとえば、cciTKGNamespace という名前の TKG リソース内に名前空間を作成する場合は、TKG リソースの名前を context プロパティに挿入 (context: ${resource.cciTKGNamespace.id}) することで、TKG リソースを名前空間にバインドできます。
- リソース プロパティ内で渡される Kubernetes マニフェストは、プロビジョニングする Kubernetes オブジェクトのタイプを指定します。
... tkgSecret: type: CCI.TKG.Resource properties: context: ${resource.cciTKGCluster.id} manifest: apiVersion: v1 kind: Secret metadata: name: nvaie-apikey type: Opaque data: username: KM9hdCCodG9rZW4= password: ${base64_encode(input.password)} ...
キャンバスでは、TKG リソース tkgSecret が TKG リソース cciTKGCluster 内にネストされて表示されます。
wait プロパティの追加
- フィールド待機:プロパティ パスと値を使用して各フィールドを構成できるフィールドのリスト。リソースが完了したと見なされるには、この値に一致する必要があります。
- 条件の待機:リソース作成の成功または失敗を示す条件のリスト。
... wait: conditions: - type: VirtualMachinePrereqReady status: "False" reason: VirtualMachineImageNotReady indicatesFailure: true ...
ユーザー インターフェイスを使用してオプションのパラメータを追加するには、[コード] パネルのリソース名の横にある電球アイコンをクリックします。