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. |
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.
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
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)}
...
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:
fields:
- path: status.loadBalancer.ingress[0].ip
value: "*"
...