I tag di vincolo vengono aggiunti ai modelli cloud e a vari altri componenti di vRealize Automation Cloud Assembly in modo da corrispondere alle funzioni definite in risorse, zone cloud e profili per generare distribuzioni appropriate.

Esistono due aree principali in vRealize Automation Cloud Assembly in cui i tag di vincolo sono applicabili. La prima si trova a livello della configurazione in progetti e immagini. La seconda si trova a livello della distribuzione nei modelli cloud. I vincoli applicati in entrambe le aree vengono uniti nei modelli cloud per formare un insieme di requisiti di distribuzione.

Come funzionano i tag di vincolo nei progetti

Quando configurano Cloud Assembly, gli amministratori del cloud possono applicare tag di vincolo in progetti e mappe di immagini. In questo modo, gli amministratori del cloud possono applicare vincoli di governance direttamente a livello del progetto. Tutti i vincoli aggiunti a questo livello vengono applicati a tutti i modelli cloud necessari per il progetto applicabile.

Se i tag nel progetto sono in conflitto con i tag nel modello cloud, i tag del progetto hanno la precedenza, consentendo così all'amministratore del cloud di imporre le regole di governance. Ad esempio, se gli amministratori del cloud creano un tag location:london nel progetto, ma uno sviluppatore posiziona un tag location:boston nel modello cloud, il primo avrà la precedenza e la risorsa verrà distribuita nell'infrastruttura contenente il tag location:london.

Nei progetti è possibile applicare fino a tre vincoli. I vincoli del progetto possono essere permanenti o temporanei. Per impostazione predefinita sono permanenti. I vincoli permamenti consentono di imporre rigidamente le restrizioni della distribuzione. Se uno o più vincoli permanenti non sono soddisfatti, la distribuzione non riesce. I vincoli temporanei offrono un metodo per esprimere le preferenze che verranno selezionate se disponibili, ma la distribuzione riesce anche se tali vincoli non vengono soddisfatti.

Come funzionano i tag di vincolo nei modelli cloud

Nei modelli cloud è possibile aggiungere tag di vincolo alle risorse come codice YAML in modo che corrispondano ai tag di funzionalità appropriati creati dall'amministratore del cloud in risorse e zone cloud, nonché nei profili di rete e di storage. Sono inoltre disponibili altre opzioni più complesse per l'implementazione dei tag di vincolo. Ad esempio, è possibile utilizzare una variabile per popolare uno o più tag in una richiesta. In questo modo è possibile specificare uno o più tag al momento della richiesta.

Creare tag di vincolo utilizzando l'etichetta tag nel codice YAML del modello cloud. I tag di vincolo dei progetti vengono aggiunti ai tag di vincolo creati nei modelli cloud.

vRealize Automation Cloud Assembly supporta una semplice formattazione stringa per semplificare l'uso dei vincoli nei file YAML:

[!]tag_key[:tag_value][:hard|:soft]

Per impostazione predefinita, vRealize Automation Cloud Assembly crea un vincolo positivo con imposizione permanente. Il valore del tag è facoltativo, ma consigliato, come nel resto dell'applicazione.

Il seguente esempio di WordPress con MySQL mostra i tag di vincolo YAML che specificano le informazioni sulla posizione delle risorse di elaborazione.

name: "wordPressWithMySql"
components:
  mysql:
    type: "Compute"
    data:
      name: "mysql"
      # ... skipped lines ...
  wordpress:
    type: "Compute"
    data:
      name: "wordpress"
      instanceType: small
      imageType: "ubuntu-server-1604"
      constraints:
        - tag: "!location:eu:hard"
        - tag: "location:us:soft"
        - tag: "!pci"
      # ... skipped lines ...

Per ulteriori informazioni sull'utilizzo dei modelli cloud, vedere Parte 3: progettazione e distribuzione del modello di vRealize Automation Cloud Assembly di esempio.

Come funzionano vincoli permanenti e temporanei in progetti e modelli cloud

I vincoli dei progetti e dei modelli cloud possono essere permanenti o temporanei. Il frammento di codice precedente mostra esempi di vincoli permanenti e temporanei. Per impostazione predefinita, tutti i vincoli sono permanenti. I vincoli permamenti consentono di imporre rigidamente le restrizioni della distribuzione. Se uno o più vincoli permanenti non sono soddisfatti, la distribuzione non riesce. I vincoli temporanei esprimono le preferenze che vengono applicate se disponibili, ma non causano alcun errore se non vengono soddisfatti.

Se in un tipo di risorsa specifico è presente una serie di vincoli permanenti e temporanei, i vincoli temporanei possono essere utilizzati anche come mezzi risolutivi. Ovvero, se più risorse soddisfano un vincolo permanente, i vincoli temporanei vengono utilizzati per selezionare la risorsa effettivamente utilizzata nella distribuzione.

Ad esempio, è possibile specificare fino a tre vincoli in un progetto in qualsiasi combinazione di elementi di rete, storage ed estendibilità. È inoltre possibile selezionare se ciascun vincolo è permanente o temporaneo. Si supponga di creare un vincolo di storage permanente con un tag location:boston. Se nessuno storage nel progetto soddisfa questo vincolo, qualsiasi distribuzione correlata non riesce.

Nota: Nei progetti e nei modelli cloud, il contrassegno failOnConstraintMergeConflict modifica il comportamento dei vincoli. Quando il contrassegno è impostato su true, se si verifica un conflitto tra vincoli del progetto e vincoli del modello, la richiesta non riesce. Se il contrassegno non è presente o è impostato su false, i vincoli del progetto hanno la precedenza sui vincoli del modello cloud.