I tag sono metadati avanzati che è possibile associare alle risorse e includere nei modelli. È possibile utilizzare i tag in diversi scenari di gestione, incluso il posizionamento dei carichi di lavoro e le etichette delle risorse.

Introduzione rapida ai tag

Questa sezione è una semplice introduzione ai tag applicati alle procedure indicate. Per informazioni più dettagliate sui tag, vedere Come utilizzare i tag per gestire le distribuzioni e le risorse di Cloud Assembly.

  • Tag di funzionalità e vincolo

    È possibile utilizzare i tag per controllare le distribuzioni in base alle funzionalità delle risorse. Ad esempio, nel caso in cui un amministratore del cloud desideri che i modelli cloud sviluppati iterativamente vengano distribuiti a un pool di risorse specifico per lo sviluppo e i modelli disponibili per la produzione vengano distribuiti a un altro pool di risorse.

    • I tag di funzionalità vengono aggiunti alle risorse, definendo le relative funzionalità.
    • I tag di vincolo vengono utilizzati nei modelli cloud, definendo le risorse che si desidera utilizzare con le risorse distribuite.
  • Tag di etichette

    Per gestire le risorse, è possibile aggiungere tag come etichette o descrizioni di oggetti. Le possibilità di gestione includono risultati di ricerca delle risorse migliori, differenziazione tra oggetti simili, annotazione di oggetti con informazioni personalizzate, indicazione di informazioni a sistemi di terzi, creazione di criteri di appartenenza al raggruppamento di sicurezza, verifica della coerenza tra i domini SDDC collegati.

Prima di iniziare

Utilizzo dei tag per gestire il posizionamento dei carichi di lavoro

Questo semplice esempio utilizza tag dell'ambiente di sviluppo e produzione per mostrare come utilizzare i tag di funzionalità e vincolo. Prima di tutto, si aggiungono tag di funzionalità nelle risorse di elaborazione del pool di risorse di vCenter Server e quindi si includono i tag nel modello cloud. L'esempio di modello cloud mostra come utilizzare gli input per consentire all'utente che esegue la distribuzione di scegliere se distribuirlo in un pool di risorse di sviluppo o di produzione.

Per un esempio di come utilizzare gli stessi tag per definire il posizionamento in un ambiente multi-cloud, vedere Tutorial: configurazione e verifica dell'infrastruttura e delle distribuzioni multi-cloud in Cloud Assembly.

  1. Aggiungere i tag di funzionalità ai pool di risorse.
    1. Selezionare Infrastruttura > Risorse > Elaborazione.
    2. Aprire la zona cloud e fare clic su Elaborazione.Screenshot della scheda Elaborazione della zona cloud che mostra i pool di risorse senza tag.
    3. Individuare e fare clic sul pool di risorse in cui si desidera distribuire i carichi di lavoro di sviluppo.

      In questo tutorial vengono utilizzati i seguenti valori di esempio. Tenere presente che questi valori sono solo esempi. I valori saranno quelli specifici del proprio ambiente.

      Pool di risorse di esempio Tag di esempio
      wid01-clu01 / Development env:dev
      wid01-clu01 / Production env:prod
    4. Aggiungere il tag env.dev e fare clic Salva.
      Screenshot della finestra di dialogo utilizzata per aggiungere un tag. Include il valore di esempio env:dev.
    5. Ripetere il processo per il pool di risorse in cui si desidera distribuire i carichi di lavoro di produzione e aggiungere il tag env:prod.
  2. Verificare che i tag di funzionalità siano stati aggiunti ai pool di risorse nella zona cloud.
    1. Selezionare Infrastruttura > Configura > Zone cloud.
    2. Aprire la zona cloud associata al progetto e fare clic su Elaborazione.

      In questo esempio, la zona cloud è Zona cloud account vCenter e i tag sono stati aggiunti ai due pool di risorse, wid01-clu01 / Development e wid01-clu01 / Production.

      Screenshot della zona cloud di vCenter Server in cui una zona cloud presenta il tag env:dev e un'altra include env:prod.
  3. Aggiungere tag di vincolo al modello cloud.

    I tag di vincolo vengono utilizzati per limitare la posizione di distribuzione del modello.

    1. Selezionare Progettazione > Modelli cloud e quindi aprire il modello.

      In questo tutorial, il nome del modello è Development Template.

    2. Rivedere il codice YAML per il modello nel riquadro Codice.

      Il punto di partenza di questa tutorial è il codice YAML.

      formatVersion: 1
      inputs: {}
      resources:
        Cloud_vSphere_Machine_1:
          type: Cloud.vSphere.Machine
          properties:
            image: centos
            flavor: medium
            networks:
              - network: '${resource.Cloud_NSX_Network_1.id}'
            attachedDisks:
              - source: '${resource.Cloud_vSphere_Disk_1.id}'
        Cloud_vSphere_Disk_1:
          type: Cloud.vSphere.Disk
          properties:
            capacityGb: 5
        Cloud_NSX_Network_1:
          type: Cloud.NSX.Network
          properties:
            networkType: existing
      
    3. Aggiungere il tag di vincolo alla risorsa Cloud_vSphere_Machine_1 utilizzando ${input.placement} come variabile.
      resources:
        Cloud_vSphere_Machine_1:
          type: Cloud.vSphere.Machine
          properties:
            image: centos
            flavor: medium
            constraints: 
              - tag: '${input.placement}'
            networks:
              - network: '${resource.Cloud_NSX_Network_1.id}'
            attachedDisks:
              - source: '${resource.Cloud_vSphere_Disk_1.id}'
    4. Definire la variabile di posizionamento nella sezione Input.
      inputs:
        placement:
          type: string
          enum:
            - env:dev
            - env:prod
          default: env:dev
          title: Select Placement for Deployment
          description: Target Environment
    5. Verificare che il codice YAML finale sia simile a quello illustrato nell'esempio seguente.
      formatVersion: 1
      inputs:
        placement:
          type: string
          enum:
            - 'env:dev'
            - 'env:prod'
          default: 'env:dev'
          title: Select Placement for Deployment
          description: Target Environment
      resources:
        Cloud_vSphere_Machine_1:
          type: Cloud.vSphere.Machine
          properties:
            image: centos
            flavor: small
            constraints:
              - tag: '${input.placement}'
            networks:
              - network: '${resource.Cloud_NSX_Network_1.id}'
            attachedDisks:
              - source: '${resource.Cloud_vSphere_Disk_1.id}'
        Cloud_vSphere_Disk_1:
          type: Cloud.vSphere.Disk
          properties:
            capacityGb: 5
        Cloud_NSX_Network_1:
          type: Cloud.NSX.Network
          properties:
            networkType: existing
    6. Per provare la variabile del tag in base alle risorse disponibili, fare clic su Test, quindi selezionare env:dev.
      Screenshot della finestra di dialogo di test con l'input Seleziona posizionamento per la distribuzione e il valore env:dev.

      Ripetere il test utilizzando env:prod. Quando entrambi i test hanno esito positivo, verificare che il modello funzioni distribuendolo.

  4. Distribuire il modello per testare il posizionamento dei carichi di lavoro.
    1. Nel progettista del modello cloud, fare clic Distribuisci.
    2. Immettere Deployment Tag Dev come Nome della distribuzione e fare clic su Avanti.
    3. Selezionare env:dev nel menu a discesa Seleziona posizionamento per la distribuzione e fare clic su Distribuisci.
  5. Verificare che il modello abbia distribuito le risorse al pool di risorse selezionato.
    1. Selezionare Risorse > Distribuzioni e individuare la distribuzione Deployment Tag Dev.
    2. Aprire i dettagli della distribuzione e fare clic Topologia.
    3. Fare clic sulla macchina vSphere ed espandere le informazioni della macchina nel riquadro a destra.
    4. Nella sezione Generale, individuare Host di elaborazione e verificare che il valore corrisponda al pool di risorse corrispondente al tag env:dev.

      In questo esempio, il valore è wid01-clu01 / Development, a indicare che il carico di lavoro è stato distribuito nel pool di risorse corretto in base al tag di vincolo selezionato.


      Screenshot della pagina della topologia di distribuzione con la macchina vSphere selezionata con una casella per l'host di elaborazione nel riquadro a destra.
    5. Ripetere il processo di distribuzione, questa volta selezionando env:prod.

Aggiunta di tag come etichette che è possibile utilizzare in vCenter Server e NSX-T

È possibile aggiungere tag alle distribuzioni che possono essere utilizzate per gestire le risorse.

In questo esempio, si aggiungono tag per identificare la macchina e la rete MySQL. Aggiungere inoltre un tag per identificare la rete Web. A causa del funzionamento dei tag nelle reti esistenti rispetto alle reti su richiesta, sono disponibili due opzioni.

  • Se si utilizza il profilo di rete esistente utilizzato nella sezione precedente, il tag NGINX:web non viene aggiunto agli oggetti esistenti in NSX-T. In questo modo, è possibile ignorare i passaggi di verifica relativi a questo tag in NSX-T.
  • Se si crea un profilo di rete su richiesta, è possibile aggiornare la rete nel codice YAML in modo da utilizzare la rete instradata/su richiesta. La rete su richiesta viene utilizzata in questo esempio in modo da poter mostrare il tag NGINX:web nel nuovo oggetto in NSX-T.

Il seguente codice YAML deriva dall'esempio precedente, ad eccezione del fatto che utilizza un networkType su richiesta instradato. Include i tag di vincolo.

In questo tutorial vengono utilizzati i seguenti valori di esempio. Tenere presente che questi valori sono solo esempi. I valori saranno quelli specifici del proprio ambiente.

formatVersion: 1
inputs:
  placement:
    type: string
    enum:
      - 'env:dev'
      - 'env:prod'
    default: 'env:dev'
    title: Select Placement for Deployment
    description: Target Environment
resources:
  Cloud_vSphere_Machine_1:
    type: Cloud.vSphere.Machine
    properties:
      image: centos
      flavor: small
      constraints:
        - tag: '${input.placement}'
      networks:
        - network: '${resource.Cloud_NSX_Network_1.id}'
      attachedDisks:
        - source: '${resource.Cloud_vSphere_Disk_1.id}'
  Cloud_vSphere_Disk_1:
    type: Cloud.vSphere.Disk
    properties:
      capacityGb: 5
  Cloud_NSX_Network_1:
    type: Cloud.NSX.Network
    properties:
      networkType: routed
      constraints:
        - tag: 'net:od'
      
  1. Selezionare Progettazione > Modelli cloud e quindi aprire il modello.
  2. Nelle proprietà Cloud_vSphere_Machine_, aggiungere il seguente tag.
            tags: 
            - key: db
              value: mysql
        
  3. Aggiungere i tag della scheda NIC della macchina virtuale.
            tags: 
            - key: db
              value: mysql
  4. Aggiungere i tag di segmento/switch logico di NSX.
            tags: 
            - key: NGINX
              value: web
  5. Verificare che il codice YAML sia simile a quello illustrato nell'esempio seguente.
    formatVersion: 1
    inputs:
      placement:
        type: string
        enum:
          - 'env:dev'
          - 'env:prod'
        default: 'env:dev'
        title: Select Placement for Deployment
        description: Target Environment
    resources:
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: centos
          flavor: small
          constraints:
            - tag: '${input.placement}'
          tags: 
            - key: db
              value: mysql
          networks:
            - network: '${resource.Cloud_NSX_Network_1.id}'
              tags: 
                - key: db
                  value: mysql
          attachedDisks:
            - source: '${resource.Cloud_vSphere_Disk_1.id}'
      Cloud_vSphere_Disk_1:
        type: Cloud.vSphere.Disk
        properties:
          capacityGb: 5
      Cloud_NSX_Network_1:
        type: Cloud.NSX.Network
        properties:
          networkType: routed
          constraints:
            - tag: 'net:od'
          tags: 
            - key: NGINX
              value: web
  6. Distribuire il modello.

    In questo esempio viene utilizzato il nome Development template w tags.

  7. Per verificare i tag nella distribuzione, aprire la distribuzione e fare clic sulla scheda Topologia.
    1. Fare clic sulla macchina nella topologia.
    2. Espandere la sezione Generale per la macchina e individuare l'etichetta Tag.

      Il valore del tag è db:mysql.

    3. Espandere la sezione Rete e individuare la colonna Tag di rete.

      Il valore del tag è db:mysql.


      Screenshot della scheda della topologia di distribuzione con la macchina selezionata e i tag evidenziati nel riquadro a destra.
    4. Fare clic sulla rete nella topologia ed espandere la sezione Generale per individuare l'etichetta Tag.

      Il valore del tag è NGINX:web.


      Screenshot della scheda della topologia di distribuzione con la rete selezionata e il tag evidenziato nel riquadro a destra.
  8. Per verificare i tag in vCenter Server, accedere all'istanza vCenter Server in cui è stato distribuito questo carico di lavoro.
    1. Individuare la macchina virtuale e individuare il riquadro Tag.
      Screenshot della macchina virtuale in vCenter Server con il riquadro Tag evidenziato.
  9. Per verificare i tag in NSX-T, accedere all'istanza NSX-T in cui è configurata la rete.

    I tag di rete e i tag della macchina vengono aggiunti a NSX-T.

    1. Fare clic su Criterio nell'angolo superiore destro.
    2. Per individuare il tag db:mysql associato alla scheda NIC, cercare mysql.
    3. Fare clic Porte logiche e individuare la macchina vSphere distribuita.
    4. Fare clic sul numero nella colonna Tag.

      L'ambito e il tag sono, rispettivamente, db e mysql.


      Screenshot della porta logica per la macchina virtuale con tag evidenziati.
    5. Per individuare il tag NGINX:web associato al segmento, cercare la rete.

      In questo esempio, il nome della rete è Cloud_NSX_Network_1-mcm1292-163799928607.

    6. Individuare la riga Segmenti e fare clic sul numero nella colonna Tag.

      L'ambito e il tag sono, rispettivamente, NGINX e web.


      Screenshot del segmento di rete con tag evidenziati.