U kunt Cloud Consumption Interface-elementen (CCI) toevoegen om de CCI-service te gebruiken in een VMware Aria Automation-sjabloon, zodat uw gebruikers Kubernetes-gebaseerde workloads kunnen aanvragen via de Virtual Machine-service en de Tanzu Kubernetes Grid Service in een supervisornaamruimte.
Als u de CCI-elementen wilt weergeven, vouwt u het gedeelte Cloud Consumption Interface in de resourcebibliotheek in uw cloudsjabloon uit of typt u cci in het veld Cloud Consumption Interface.
Resource voor supervisornaamruimte
|
Maak een nieuwe supervisornaamruimte die een Kubernetes-gebaseerde werkplek biedt met resourcelimieten, gebruikerstoegang en beschikbare supervisorservices, zodat gebruikers VM- en TKG-resources kunnen inrichten op basis van de applicatiebehoeften. |
Supervisorresource
|
Maak een ondersteunde Kubernetes-supervisorresource in een supervisornaamruimte, zoals virtualmachines , virtualmachineservices , tanzukubernetesclusters , persistentvolumeclaims , secrets , enzovoort, afhankelijk van het Kubernetes-manifest dat is doorgegeven aan de supervisorresource die wordt geconfigureerd. |
TKG-resource
|
Maak een ondersteunde Kubernetes-resource in een TKG-cluster. |
CCI.Supervisor.Namespace
Direct op canvas neerzetten.CCI.Supervisor.Resource
Op een supervisornaamruimteresource of direct op het canvas neerzetten.CCI.TKG.Resource
Op een andere TKG-resource, een supervisorresource of direct op het canvas neerzetten. CCI-resources zijn beperkt tot vijf nestniveaus.
In de onderstaande canvasweergave ziet u dat een TKG-resource naar een supervisorresource wordt gesleept met de naam cciTKGCluster. Een supervisornaamruimte die een supervisorresource bevat die een TKG-resource bevat, toont drie nestniveaus.
In de volgende voorbeelden ziet u hoe CCI-resources zoals cciNamespace en cciTKGCluster worden weergegeven in de YAML-code van uw cloudsjabloon. Elk voorbeeld wordt ingekort om alleen de belangrijke regels weer te geven.
Voorbeeld van supervisornaamruimteresource
CCI.Supervisor.Namespace vertegenwoordigt de op Kubernetes gebaseerde supervisorwerkplek waar de door de gebruiker beheerde vSphere IaaS-supervisorresources voor de applicatie worden gemaakt.
In dit voorbeeld wordt een CCI-supervisornaamruimteresource met de naam cciNamespace gedefinieerd om een supervisornaamruimte met de naam demo in te richten.
name
in de YAML-code invoeren.
formatVersion: 1 inputs: {} resources: cciNamespace: type: CCI.Supervisor.Namespace properties: name: demo className: default regionName: dev-us-west
Voorbeeld van supervisorresource
U gebruikt CCI.Supervisor.Resource om het Kubernetes-manifest door te geven voor Kubernetes-objecten die worden ondersteund om te worden uitgevoerd binnen een supervisornaamruimtecontext.
- Als u de supervisorresource binnen een bepaalde supervisornaamruimte wilt inrichten, configureert u de contexteigenschap van de supervisorresource door deze toe te voegen aan de naamruimte-ID van de supervisor met behulp van een bind-expressie voor sjablonen, bijvoorbeeld context: ${resource.cciNamespace.id}.
- Als u de in te richten objecten wilt opgeven, configureert u de manifesteigenschap van de supervisorresource door het Kubernetes-manifest door te geven aan het Kubernetes-object dat u maakt.
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
Op het canvas bevat de supervisornaamruimte cciNamespace twee supervisorresources cciTKGCluster en vm.
Voorbeeld van TKG-resource
- Als u een TKG-resource wilt binden aan een TKG-cluster, wijst u de id van de TKG-clusterresource van de supervisor toe met de contexteigenschap, bijvoorbeeld context: ${resource.cciTKGCluster.id}.
- Als u een naamruimte in een TKG-resource maakt met de naam cciTKGNamespace kunt u bijvoorbeeld een TKG-resource binden aan de naamruimte door de naam van de TKG-resource in te voegen in de contexteigenschap of context: ${resource.cciTKGNamespace.id}.
- Het Kubernetes-manifest dat wordt doorgegeven binnen de resource-eigenschappen, geeft het type van het Kubernetes-object op dat moet worden ingericht.
... 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)} ...
Op het canvas wordt de TKG-resource tkgSecret genest weergegeven in de TKG-resource cciTKGCluster.
Een eigenschap voor wachten toevoegen
- Wachten voor veld: lijst met velden waar elk veld kan worden geconfigureerd met een eigenschapspad en een waarde. De waarde moet overeenkomen voordat de bron als voltooid wordt beschouwd.
- Wachten voor voorwaarde: lijst met voorwaarden die aangeven dat het maken van de resource is gelukt of mislukt.
... wait: conditions: - type: VirtualMachinePrereqReady status: "False" reason: VirtualMachineImageNotReady indicatesFailure: true ...
Als u optionele parameters wilt toevoegen met de gebruikersinterface, klikt u op het lampje naast de resourcenaam in het paneel Code.