Als VMware Aria Automation-cloudbeheerder kunt u een commandoregelinterface gebruiken om CCI-toegang (Cloud Consumption Interface) in te schakelen en governanceconstructs te configureren. De commandoregelinterface gebruikt het Kubernetes-commandoregelprogramma of kubectl.

Zie Kubernetes API-referentie voor de Cloud Consumption Interface voor een volledige lijst met acties die u kunt uitvoeren met de CLI.

Vereisten

  • Controleer of een supervisorcluster is ingeschakeld op een vCenter-instantie en is geregistreerd met VMware Aria Automation.
  • Controleer of u ten minste een organisatielid bent van VMware Aria Automation met de servicerol van beheerder voor Automation Assembler of Automation Service Broker.
  • Controleer of u over het volgende beschikt:
    • De CCI kubectl-invoegtoepassing is gedownload.
    • Een API-token voor de admingebruiker is verkregen of een variabele is gedefinieerd om uw gebruikerswachtwoord op te slaan.
    • Heeft uw token gebruikt met de optie -t of heeft uw beheerdersinloggegevens gebruikt met de optie -u om u aan te melden bij de CCI-server en de standaardcontext gewijzigd in CCI.
  • Controleer of u een vCenter-cloudaccount heeft toegevoegd in Automation Assembler.

Zie Cloud Consumption Interface instellen en configureren voor meer informatie over een van deze vereisten.

Stap 1: Een project en projectrolbindingen maken

Om Automation-gebruikers te groeperen en toegang tot infrastructuurresources in te stellen, maakt u project en projectrolbindingen.

Opmerking: Zie Hoe voeg ik een project toe voor mijn Automation Assembler-ontwikkelingsteam. als u project- en projectrolbindingen wilt maken met de gebruikersinterface.
  1. Maak een project.
    kubectl create -f project.yaml
    project.yaml-voorbeeldbestand.
    apiVersion: project.cci.vmware.com/v1alpha1
    kind: Project
    metadata:
      name: <project_name>
    spec:
      description: <description_of_project>
      sharedResources: true
    
  2. Maak een projectrolbinding om rollen toe te wijzen aan gebruikers of groepen in een gemaakt project.
    kubectl create -f projectrolebinding.yaml
    In het volgende voorbeeld voegt projectrolebinding.yaml een gebruiker met de projectrol beheerder toe. Projectrolwaarden zijn: beheerder, weergeven of bewerken.
    apiVersion: authorization.cci.vmware.com/v1alpha1
    kind: ProjectRoleBinding
    metadata:
      name: cci:user:vmware.com:<user_alias>
      namespace: <project_name>
    roleRef:
      apiGroup: authorization.cci.vmware.com
      kind: ProjectRole
      name: admin
    subjects:
    - kind: User
      name: <[email protected]>

Stap 2: Een regio maken

U maakt een regio zodat u supervisors aan die regio kunt toewijzen.

kubectl create -f region.yaml
region.yaml-voorbeeldbestand.
apiVersion: topology.cci.vmware.com/v1alpha1
kind: Region
metadata:
  name: <region_name>
spec:
  description: <description_of_region>

Stap 3: Een supervisor aan een regio koppelen

Als u een supervisor aan een regio wilt koppelen, vindt u de supervisor die u wilt bijwerken en voegt u vervolgens de regio en labels toe die worden gebruikt voor de plaatsing van naamruimten.

  1. Vermeld de supervisors om de supervisor te vinden die u wilt bijwerken. Supervisorresources zijn zichtbaar na vCenter-gegevensverzameling.
    kubectl -n cci-config get supervisors
    Het volgende is een voorbeeldresultaat.
    NAME                             AGE
    demo-self-service:domain-c50     75d
    adminannie-vcenter:domain-c8     5d18h
    scale-test-vc-01:domain-c8       56d
  2. Werk de supervisor met de naam adminannie-vcenter:domain-c8 bij.
    kubectl -n cci-config edit supervisor adminannie-vc:domain-c8
    Het volgende voorbeeld bevat sleutelwaardeparen metadata.labels en regio's spec.regionNames. De labels omgeving: testen en fipsMode: strict kunnen worden gebruikt om te helpen bij het nemen van plaatsingsbeslissingen over supervisors.
    apiVersion: infrastructure.cci.vmware.com/v1alpha1
    kind: Supervisor
    metadata:
      labels:
        environment: testing
        fipsMode: strict
      name: adminannie-vc:domain-c8
      namespace: cci-config
      uid: ccd3d154-6404-47b7-8786-bb2d49ad9f5d
    spec:
      cloudAccountName: adminannie-vc
      externalId: domain-c8
      externalName: wcp-test-dc-cluster
      regionNames:
        - <region_name>
Om een lijst met supervisorregio's in de gebruikersinterface van Automation Assembler of Automation Service Broker weer te geven, gaat u naar:
  • Infrastructuur > Configureren > Supervisorregio's
  • Of klik op het tabblad Supervisorregio's voor een project in Infrastructuur > Beheer > Projecten
Zie Beheerdersconstructs weergeven.

Stap 4: Een regiobinding en een configuratie voor regiobinding maken

U maakt een regiobinding en configuratie voor regiobinding zodat gebruikers in een project supervisornaamruimten op supervisors in een regio kunnen maken.

  1. Maak een regiobinding.
    kubectl create -f regionbinding.yaml
    regionbinding.yaml-voorbeeldbestand.
    apiVersion: topology.cci.vmware.com/v1alpha1
    kind: RegionBinding
    metadata:
      name: <region_name>
      namespace: <project_name>

    Een regiobinding bevat geen instellingen voor plaatsing van de supervisor, dus u moet ook een configuratie voor regiobinding maken.

  2. Maak een configuratie voor regiobinding voor elke gemaakte regiobinding. U kunt overeenkomstexpressies opnemen die worden gebruikt voor extra filtering van supervisors. Supervisorlabels worden gebruikt om plaatsing van supervisornaamruimten op een subset van de supervisors in een regio toe te staan.
    kubectl create -f regionbindingconfig.yaml
    In het volgende voorbeeldbestand regionbindingconfig.yaml kunnen supervisors die overeenkomen met het omgevingslabel testen de supervisornaamruimten hosten die in dat project en die regio zijn gemaakt.
    apiVersion: topology.cci.vmware.com/v1alpha1
    kind: RegionBindingConfig
    metadata:
      name: <region_name>
      namespace: <project_name>
    spec:
      supervisorSelector:
        matchExpressions:
          - key: environment
            operator: In
            values:
              - testing

Stap 5: Een supervisornaamruimteklasse maken en een configuratie voor de supervisornaamruimteklasse toevoegen

Om naamruimtesjablonen met optionele parameters te definiëren die kunnen worden gebruikt om de naamruimte-instellingen aan te passen tijdens het maken, maakt u een supervisornaamruimteklasse. Vervolgens kunt u een configuratie voor de supervisornaamruimteklasse maken met overeenkomstexpressies die worden gebruikt voor extra filtering van supervisors die worden gebruikt voor plaatsing van supervisornaamruimten.

  1. Maak een supervisornaamruimteklasse.
    kubectl create -f supervisornamespaceclass.yaml
    In het volgende voorbeeldbestand supervisornamespaceclass.yaml geeft de optionele invoer onder parameters de parameters van de naamruimteklasse weer die gebruikers opgeven bij het maken van de naamruimte. Alle invoer moet standaardwaarden hebben. De waarden worden gebruikt om de opslagklassen, limieten en aanvullende beperkingen aan te passen.
    apiVersion: infrastructure.cci.vmware.com/v1alpha1
    kind: SupervisorNamespaceClass
    metadata:
      name: <class_name>
    spec:
      description: supervisor namespace class
      parameters:
        - name: podCountLimit
          type: Integer
          minimum: 100
          maximum: 1000
          default: 500

    De supervisornaamruimteklasse bevat geen instellingen voor plaatsing van supervisors, dus u moet ook een configuratie voor de supervisornaamruimteklasse maken.

  2. Maak een configuratie voor de supervisornaamruimteklasse.
    kubectl create -f supervisornamespaceclassconfig.yaml
    Het YAML-bestand is geconfigureerd met alle configuraties voor supervisornaamruimte die u door de supervisornaamruimte wilt laten overnemen en kan het volgende bevatten:
    • Inhoudsbibliotheken die de images bevatten die de VM-service gebruikt bij het inrichten van virtuele machines.
    • VM-klassen zoals T-shirtmaten.
    • Resourcelimieten afgedwongen voor CPU, geheugen en opslag.
    • Te gebruiken opslagklassen.
    • SupervisorSelector om te bepalen welke supervisor moet worden gebruikt voor het maken van supervisornaamruimten.
    In het volgende voorbeeldbestand supervisornamespaceclassconfig.yaml wordt de supervisorSelector gebruikt om overeenkomsten te vinden voor supervisorlabels.
    apiVersion: infrastructure.cci.vmware.com/v1alpha1
    kind: SupervisorNamespaceClassConfig
    metadata:
      name: <class_name>
    spec:
      storageClasses:
        - name: management-storage-policy-thin
      vmClasses:
        - name: big-vm-class
        - name: small-vm-class
      contentSources:
        - name: global-content-library
          type: ContentLibrary
      # Below limits are an EXAMPLE! Setting them may cause unexpected behavior in your namespace
      # Either set reasonable limits, or remove the below section to get unlimited resources
      limits:
        - name: pod_count
          limit: "((parameters.podCountLimit))"
      supervisorSelector:
        matchExpressions:
          - key: environment
            operator: In
            values:
              - testing
    

Stap 6: Een naamruimteklasse aan een project koppelen

Om het maken van een supervisornaamruimte met de supervisornaamruimteklasse in een project mogelijk te maken, maakt u een binding voor supervisornaamruimteklassen.

kubectl create -f supervisornamespaceclassbinding.yaml
supervisornamespaceclassbinding.yaml-voorbeeldbestand.
  • namespace geeft de naam op van het project dat u aan de supervisornaamruimteklasse wilt koppelen.
  • overrideParameters zijn optioneel. Ze worden gebruikt om een parameterwaarde af te dwingen, terwijl de door de gebruiker opgegeven parameterwaarden worden genegeerd wanneer de supervisornaamruimte wordt gemaakt. Geldige typen zijn Geheel getal, Tekenreeks of Booleaans.
apiVersion: infrastructure.cci.vmware.com/v1alpha1
kind: SupervisorNamespaceClassBinding
metadata:
  name: <class_name>
  namespace: <project_name>
spec:
  overrideParameters:
    - name: podCountLimit
      type: Integer
      const: 1000