Condividi tramite


Oggetti Node e Nodearray

Gli oggetti Node e nodearray sono classificati 2 e subordinati a cluster. Un nodo rappresenta una singola macchina virtuale, mentre un nodearray può rappresentare una raccolta di macchine virtuali o almeno un set di scalabilità di macchine virtuali.

Valori predefiniti del nodo

Il [[node defaults]] è un nodo astratto speciale che specifica l'impostazione predefinita per tutti i nodi e i nodearray in un cluster:

[cluster my-cluster]
  [[node defaults]]
  Credentials = $Credentials
  SubnetId = my-rg/my-vnet/my-subnet
  MachineType = Standard_D2s_v3

  [[nodearray grid]]
  ImageName = cycle.image.centos6
  MachineType = Standard_H16

Il $Credentials è un riferimento a un parametro denominato "Credentials".

In my-cluster, l'nodearray grid eredita Credential e SubnetId dal nodo defaults, ma usa una dimensione di macchina virtuale HPC specifica di Standard_H16.

Esempio

Questo modello di esempio crea un cluster con due nodi e un oggetto nodearray. Il nodo proxy usa il IsReturnProxy per definire il ruolo speciale di ReturnProxy, che sarà l'endpoint per un proxy di canale inverso proveniente da CycleCloud all'avvio del cluster.

[cluster my-cluster]

  [[node defaults]]
    Credentials = $Credentials
    SubnetId = $SubnetId
    KeyPairLocation = ~/.ssh/cyclecloud.pem
    ImageName = cycle.image.centos7

  [[node proxy]]
    IsReturnProxy = true
    MachineType = Standard_B2

  [[node scheduler]]
    MachineType = Standard_D4s_v3

  [[nodearray execute]]
    MachineType = Standard_D16s_v3

Informazioni di riferimento sugli attributi obbligatori

Per avviare correttamente un nodo sono necessari almeno quattro attributi:

Attributo Digitare Definizione
MachineType Corda Dimensioni della macchina virtuale di Azure
SubnetId Corda Definizione della subnet nel formato ${rg}/${vnet}/${subnet}
Credenziali Corda Nome dell'account Cloud Provider.

Il quarto attributo obbligatorio è correlato a un'immagine. È necessario un attributo immagine, ma esistono diversi formati che possono essere accettati. Vedere Attributi immagine.

Attributi aggiuntivi

Attributo Digitare Definizione
ComputerName Corda Nome computer per la macchina virtuale. Se specificato, esegue l'override del nome generato dal sistema.
ComputerNamePrefix Corda Prefisso preceduto dai nomi computer generati dal sistema
Zona Stringa (elenco) Zona di disponibilità per vm o set di scalabilità di macchine virtuali. Può essere un elenco per il set di scalabilità di macchine virtuali. Ad esempio, Zone = 1,3
KeyPairLocation Numero intero Dove CycleCloud troverà una coppia di chiavi SSH nel file system locale
KeepAlive Booleano Se true, CycleCloud impedirà la chiusura di questo nodo
Armadietto Corda Specificare il nome della casella di sicurezza da cui scaricare le specifiche del progetto. Vedere Usare progetti
Attributo Digitare Definizione
ComputerName Corda Nome computer per la macchina virtuale. Se specificato, esegue l'override del nome generato dal sistema.
ComputerNamePrefix Corda Prefisso preceduto dai nomi computer generati dal sistema
EphemeralOSDisk Booleano Usare il disco di avvio temporaneo per la macchina virtuale, se supportato
Zona Stringa (elenco) Zona di disponibilità per vm o set di scalabilità di macchine virtuali. Può essere un elenco per il set di scalabilità di macchine virtuali. Ad esempio, Zone = 1,3
ProximityPlacementGroupId Corda ID completo per il gruppo di posizionamento di prossimità in cui inserire questo nodo. Deve iniziare con /subscriptions/
PlacementGroupId Corda Se impostata, questa etichetta viene usata per inserire questo nodo in un singolo gruppo di posizionamento con tutti gli altri nodi con un valore corrispondente per PlacementGroupId. Ciò offre una comunicazione di latenza inferiore ed è necessaria per abilitare InfiniBand nelle dimensioni delle macchine virtuali che lo supportano. Questa impostazione viene in genere impostata dall'utilità di pianificazione in base alle esigenze, pertanto non è necessario specificare manualmente.
KeyPairLocation Numero intero Dove CycleCloud troverà una coppia di chiavi SSH nel file system locale
KeepAlive Booleano Se true, CycleCloud impedirà la chiusura di questo nodo
Armadietto Corda Specificare il nome della casella di sicurezza da cui scaricare le specifiche del progetto. Vedere Usare progetti
BootDiagnosticsUri Corda URI di archiviazione per la diagnostica di avvio (ad esempio: https://mystorageaccount.blob.core.windows.net/), se specificato. Verranno applicati addebiti per l'archiviazione.
HybridBenefit Booleano Se true, abilita le licenze "Vantaggio Azure Hybrid" per le macchine virtuali Windows
EnableTerminateNotification (8.2.0+) Booleano Se true, abilita Termina notifica inviare eventi all'eliminazione della macchina virtuale alla macchina virtuale per la gestione locale. Questo vale solo per le macchine virtuali del set di scalabilità.
TerminateNotificationTimeout (8.2.2+) Tempo relativo Se la notifica di terminazione è abilitata, questo controlla per quanto tempo vengono date le macchine virtuali per gestire l'evento prima dell'eliminazione.
ThrottleCapacity (8.2.2+) Booleano Se true, questo nodearray segnala 0 capacità ai ridimensionatori automatici per un valore predefinito di 5 minuti dopo aver riscontrato un problema di capacità
ThrottleCapacityTime (8.2.2+) Tempo relativo Se ThrottleCapacity è abilitato, questo è il tempo per segnalare la disponibilità 0 dopo che la capacità è vincolata. Il valore predefinito è "5m".
HybridBenefitLicense (8.3.0+) Corda Se HybridBenefit è true, specifica la licenza da usare: RHEL_BYOS, SLES_BYOSo Windows_Server. Il valore predefinito è Windows_Server.
FlexScaleSetId (8.3.0+) Corda Se impostato, si tratta dell'ID completo di un set di scalabilità in modalità di orchestrazione Flex usato per la macchina virtuale per questo nodo.
EncryptionAtHost (8.4.0+) Booleano Se true, la macchina virtuale avrà encryption at host abilitata.
SecurityType (8.5.0+) Corda Imposta il tipo di sicurezza ; non definito, TrustedLaunch o ConfidentialVM
EnableSecureBoot (8.5.0+) Booleano Abilita avvio protetto, se si usano macchine virtuali di avvio trusted o macchine virtuali riservate.
EnableVTPM (8.5.0+) Booleano Abilita Virtual Trusted Platform Module, se si usano macchine virtuali di avvio attendibile o macchine virtuali riservate.

Nota

Un gruppo di posizionamento di prossimità è una funzionalità di Azure generale ed è necessario crearne una prima di poter fare riferimento a un nodo. In questo modo le macchine virtuali CycleCloud possono essere collocate con altre risorse di Azure in tale gruppo di posizionamento di prossimità, ma non abilita la rete InfiniBand. Al contrario, PlacementGroupId è una stringa arbitraria in CycleCloud usata per raggruppare le macchine virtuali per i nodi in un singolo set di scalabilità vincolato allo stesso commutatore di rete, ma potrebbe non essere collocato con altre risorse di Azure. Possono essere usati insieme, ma ciò può ridurre il numero di macchine virtuali che possono essere allocate.

Attributi immagine

L'immagine della macchina virtuale è un'impostazione necessaria per avviare una macchina virtuale. Esistono tre forme valide di definizione dell'immagine: nomi di immagini CycleCloud predefiniti, definizioni di immagini del Marketplace e ID immagine.

ImageName

CycleCloud supporta diverse immagini del Marketplace predefinite disponibili per diverse versioni del sistema operativo. Questi valori possono essere specificati con un ImageName.

Attributo Digitare Definizione
ImageName Corda Nome immagine supportato dal ciclo. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14]

Immagini del Marketplace

Insieme alle immagini del Marketplace gestite dal ciclo, qualsiasi immagine del marketplace può essere usata specificando il Publisher, Offer, Sku e ImageVersion.

Attributo Digitare Definizione
Azure.Publisher Corda Immagine del Marketplace della macchina virtuale
Azure.Offer Corda Offerta per l'immagine del Marketplace delle macchine virtuali
Azure.Sku Corda Sku dell'immagine del Marketplace della macchina virtuale
Azure.ImageVersion Corda Versione immagine dell'immagine del Marketplace.

Nota

Un'immagine del Marketplace può essere specificata anche nell'attributo ImageName, codificato come URN nel formato Publisher:Offer:Sku:ImageVersion.

Immagini con piano tariffario personalizzato

Le immagini della raccolta immagini condivise con un piano tariffario associato richiedono informazioni sul piano da usare, a meno che tali informazioni non vengano archiviate nell'immagine raccolta immagini condivise. Specificato con l'attributo ImagePlan utilizzando gli attributi annidati Publisher, Product e Plan.

Nota

L'uso di immagini personalizzate con un piano tariffario richiede CycleCloud 8.0.2 o versione successiva.

ImageId

In alternativa, è anche possibile usare l'ID risorsa di un'immagine di macchina virtuale nella sottoscrizione delle credenziali:

Attributo Digitare Definizione
ImageId Corda ID risorsa dell'immagine della macchina virtuale

Attributi immagine

Le immagini e le immagini del Marketplace definite da ImageIds richiedono alcune impostazioni aggiuntive per configurare correttamente l'estensione del sistema operativo CycleCloud:

Attributo Digitare Definizione
DownloadJetpack Booleano Se false, CycleCloud non scaricherà Jetpack dall'account di archiviazione. Jetpack deve essere già installato. Nota: sono supportati solo i nodi Linux. Il valore predefinito è true. Aggiunta nella versione 8.4.1.
InstallJetpack Booleano Se false, CycleCloud non installerà Jetpack nelle nuove macchine virtuali. Il valore predefinito è true.
AwaitInstallation Booleano Se false, CycleCloud non attenderà che Jetpack visualizzi i dettagli di installazione al momento della creazione della macchina virtuale. Il valore predefinito è true.
JetpackPlatform Corda Piattaforma del programma di installazione jetpack da usare: centos-7, centos-6, ubuntu-14.04, ubuntu-16.04, windows. Deprecato nella versione 7.7.0.

Avvertimento

Non è consigliabile impostare InstallJetpack o AwaitInstallation. Inoltre, l'impostazione di DownloadJetpack richiede un'immagine personalizzata con la versione corretta dell'installazione di Jetpack ed è consigliata solo per gli ambienti che riscontrano problemi durante il download dagli account di archiviazione.

Nota

ImageId viene usato per impostazione predefinita se più definizioni di immagine sono incluse in una singola definizione di nodo.

Esempio di immagine alternativa

Di seguito è riportato un modello di esempio che usa i tre costrutti di immagine alternativi per i nodi:

[cluster image-example]
  [[node defaults]]
    Credentials = $Credentials
    MachineType = Standard_D2_v3
    SubnetId = my-rg/my-vnet/my-subnet

  [[node cycle-image]]
    ImageName = cycle.image.ubuntu16

  [[node my-custom-vm-image]]
    ImageId = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel7-1b1e3e93

    # Jetpack already installed on image
    DownloadJetpack = false

  [[node marketplace-vm-image]]
    Azure.Publisher = Canonical
    Azure.Offer = UbuntuServer
    Azure.Sku = 16.04-LTS
    Azure.ImageVersion = latest

  [[node custom-marketplace-vm-image]]
    ImageName = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel8-1b1e3e93
    ImagePlan.Name = rhel-lvm8
    ImagePlan.Publisher = redhat
    ImagePlan.Product = rhel-byos

Attributi di rete avanzati

Attributo Digitare Definizione
IsReturnProxy Booleano Stabilire il proxy del canale inverso a questo nodo. Questa impostazione può essere impostata su true per un solo nodo per ogni cluster.
ReturnPath.Hostname Nome host Nome host in cui il nodo può raggiungere CycleCloud.
ReturnPath.WebserverPort Numero intero Porta del server Web in cui il nodo può raggiungere CycleCloud.
ReturnPath.BrokerPort Numero intero Broker in cui il nodo può raggiungere CycleCloud.

Tag

CycleCloud supporta l'assegnazione di tag alle macchine virtuali e ai set di scalabilità di macchine virtuali.

Attributo Corda Definizione
Tag Corda Usa tags.my-tag = my-tag-value per aggiungere tag alla distribuzione oltre ai tag assegnati da CycleCloud per impostazione predefinita.

Attributi regolari/spot

CycleCloud supporta l'uso di macchine virtuali spot tramite gli attributi seguenti. Per altre informazioni, vedere spot delle macchine virtuali.

Attributo Corda Definizione
Interrompibile Booleano Se true, la macchina virtuale sarà una macchina virtuale spot per offrire prezzi ridotti.
MaxPrice Galleggiare Prezzo massimo da spendere per la macchina virtuale. (Impostazione predefinita: -1)

attributi Nodearray-Specific

Tutti gli attributi per un nodo sono validi per un nodearray, ma una matrice di nodi è una risorsa elastica in modo che siano disponibili attributi aggiuntivi. Nodearray è un driver per i set di scalabilità di macchine virtuali di Azure e può avere molti set di scalabilità di macchine virtuali di backup.

Attributo Corda Definizione
Azure.AllocationMethod Corda Impostare questa opzione su StandAlone per gestire singole macchine virtuali o lasciare non definita l'uso del set di scalabilità di macchine virtuali.
Azure.SingleScaleset Booleano Usare un singolo set di scalabilità di macchine virtuali per tutti i nodi (impostazione predefinita: false).
Azure.SinglePlacementGroup Booleano Usare l'impostazione del gruppo di posizionamento singolo per il set di scalabilità di macchine virtuali. (Impostazione predefinita: false)
Azure.Overprovision Booleano Usare la funzionalità Di overprovisioning del set di scalabilità di macchine virtuali. Cyclecloud verrà impostato dinamicamente a seconda dello scenario. Si tratta di un override.
Azure.MaxScaleSetSize Numero intero Limitare il numero di macchine virtuali in un singolo set di scalabilità di macchine virtuali. Una volta raggiunto questo valore massimo, CycleCloud aggiungerà altri set di scalabilità di macchine virtuali al cluster. (Impostazione predefinita: '40')
InitialCount Numero intero Numero di nodi da avviare all'avvio del cluster.
MaxCount Numero intero Per assicurarsi che il cluster non superi mai 10 nodi, specificare un valore pari a 10. Si noti che MaxCount e MaxCoreCount possono essere usati insieme, nel qual caso il vincolo effettivo inferiore avrà effetto.
InitialCoreCount Numero intero Numero di core da avviare all'avvio del cluster.
MaxCoreCount Numero intero Per assicurarsi che il cluster non superi mai 100 core, è necessario specificare un valore pari a 100. Si noti che MaxCount e MaxCoreCount possono essere usati insieme, nel qual caso il vincolo effettivo inferiore avrà effetto.
ShutdownPolicy Corda Indica cosa fare con la macchina virtuale quando un nodo viene arrestato. Se 'terminate' la macchina virtuale viene eliminata quando il nodo viene arrestato. Se "deallocate", il nodo viene invece arrestato. (Impostazione predefinita: termina)
Attributo Corda Definizione
Azure.AllocationMethod Corda Impostare questa opzione su StandAlone per gestire singole macchine virtuali o lasciare non definita l'uso del set di scalabilità di macchine virtuali.
Azure.SingleScaleset Booleano Usare un singolo set di scalabilità di macchine virtuali per tutti i nodi (impostazione predefinita: false).
Azure.SinglePlacementGroup Booleano Usare l'impostazione del gruppo di posizionamento singolo per il set di scalabilità di macchine virtuali. (Impostazione predefinita: false)
Azure.Overprovision Booleano Usare la funzionalità Di overprovisioning del set di scalabilità di macchine virtuali. Cyclecloud verrà impostato dinamicamente a seconda dello scenario. Si tratta di un override.
Azure.MaxScaleSetSize Numero intero Limitare il numero di macchine virtuali in un singolo set di scalabilità di macchine virtuali. Una volta raggiunto questo valore massimo, CycleCloud aggiungerà altri set di scalabilità di macchine virtuali al cluster. (Impostazione predefinita: '40')
InitialCount Numero intero Numero di nodi da avviare all'avvio del cluster.
MaxCount Numero intero Per assicurarsi che il cluster non superi mai 10 nodi, specificare un valore pari a 10. Si noti che MaxCount e MaxCoreCount possono essere usati insieme, nel qual caso il vincolo effettivo inferiore avrà effetto.
InitialCoreCount Numero intero Numero di core da avviare all'avvio del cluster.
MaxCoreCount Numero intero Per assicurarsi che il cluster non superi mai 100 core, è necessario specificare un valore pari a 100. Si noti che MaxCount e MaxCoreCount possono essere usati insieme, nel qual caso il vincolo effettivo inferiore avrà effetto.
ShutdownPolicy Corda Indica cosa fare con la macchina virtuale quando un nodo viene arrestato. Se 'terminate' la macchina virtuale viene eliminata quando il nodo viene arrestato. Se "deallocate", il nodo viene invece arrestato. (Impostazione predefinita: termina)
ThrottleCapacity Booleano Indica se sospendere le richieste ad Azure quando si riceve Insufficient Capacity segnale. (Impostazione predefinita: false)
ThrottleCapacityTime Tempo relativo Tempo di backoff dopo aver ricevuto Insufficient Capacity segnale da Azure. AvailableCount verrà segnalato come zero durante questo periodo. (Impostazione predefinita: '5m')

Nota

Tutti i set di scalabilità di macchine virtuali verranno assegnati FaultDomainCount = 1

Eredità

I nodi e i nodearray strettamente correlati possono essere derivati da altri nodi nello stesso modello di cluster. Queste definizioni ereditate riducono al minimo le dichiarazioni necessarie condividendo attributi comuni. Comunemente usata è la sezione [[node defaults]], che è una definizione astratta speciale che si applica a tutti i nodi e nodearray nel cluster.

Attributo Corda Definizione
Astratto Booleano Se true, non creare un nodo o un oggetto nodearray nel cluster. L'astrazione può essere utilizzata per l'ereditarietà. (Impostazione predefinita: false)
Si estende Stringa (elenco) Elenco ordinato di nomi node/nodearray ereditati. Gli elementi più avanti nell'elenco hanno la precedenza quando i valori sono in conflitto. Il nodo 'defaults' sarà sempre il primo nell'elenco. (Impostazione predefinita: [])

Oggetti subordinati

Gli oggetti node/nodearray hanno volume, interfaccia di rete, cluster-init, endpoint di inpute configurazione come oggetti subordinati.