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

[[node defaults]] è un nodo astratto speciale che specifica l'impostazione predefinita per tutti i nodi e 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

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

In my-clusternodearray grideredita le credenziali e il SubnetId dal nodo defaults, ma usa una dimensione specifica della macchina virtuale HPC di Standard_H16.

Esempio

Questo modello di esempio crea un cluster con due nodi e un nodearray. Il nodo proxy usa per IsReturnProxy 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 Type Definizione
MachineType string Dimensioni della macchina virtuale di Azure
SubnetId string Definizione di subnet nel formato ${rg}/${vnet}/${subnet}
Titolo string Nome dell'account Cloud Provider.

Il quarto attributo obbligatorio è correlato a un'immagine. È necessario un attributo di immagine, ma possono essere necessari diversi moduli. Vedere Attributi immagine.

Attributi aggiuntivi

Attributo Type Definizione
NomeComputer string Nome computer per la macchina virtuale. Se specificato, esegue l'override del nome generato dal sistema.
ComputerNamePrefix string Prefisso preceduto da un prefisso per i nomi di computer generati dal sistema
Zona Stringa (elenco) Zona di disponibilità per macchine virtuali 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 Integer Dove CycleCloud troverà una coppia di chiavi SSH nel file system locale
KeepAlive Boolean Se true, CycleCloud impedirà la chiusura di questo nodo
Armadietto string Specificare il nome della casella di sicurezza da cui scaricare le specifiche del progetto. Vedere Usare progetti
Attributo Type Definizione
NomeComputer string Nome computer per la macchina virtuale. Se specificato, esegue l'override del nome generato dal sistema.
ComputerNamePrefix string Prefisso preceduto da un prefisso per i nomi di computer generati dal sistema
EphemeralOSDisk Boolean Usare un disco di avvio temporaneo per la macchina virtuale, se supportato
Zona Stringa (elenco) Zona di disponibilità per macchine virtuali 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 string ID completo per il gruppo di posizionamento di prossimità in cui inserire questo nodo. Deve iniziare con /subscriptions/
PlacementGroupId string Se impostata, questa etichetta viene usata per inserire questo nodo in un singolo gruppo di posizionamento con tutti gli altri nodi che hanno un valore corrispondente per PlacementGroupId. Ciò offre una comunicazione con latenza inferiore ed è necessario 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 deve essere specificata manualmente.
KeyPairLocation Integer Dove CycleCloud troverà una coppia di chiavi SSH nel file system locale
KeepAlive Boolean Se true, CycleCloud impedirà la chiusura di questo nodo
Armadietto string Specificare il nome della casella di sicurezza da cui scaricare le specifiche del progetto. Vedere Usare progetti
BootDiagnosticsUri string 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 Boolean Se true, abilita le licenze "Vantaggio Azure Hybrid" per le macchine virtuali Windows
EnableTerminateNotification (8.2.0+) Boolean Se true, abilita Termina notifica per 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, in questo modo viene controllato il periodo di tempo per cui vengono date le macchine virtuali per gestire l'evento prima dell'eliminazione.
ThrottleCapacity (8.2.2+) Boolean 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, per quanto tempo segnalare la disponibilità di 0 dopo che la capacità è vincolata. Il valore predefinito è "5m".
HybridBenefitLicense (8.3.0+) string Se HybridBenefit è true, specifica la licenza da usare: RHEL_BYOS, SLES_BYOSo Windows_Server. Il valore predefinito è Windows_Server.
FlexScaleSetId (8.3.0+) string Se impostato, si tratta dell'ID completo di un set di scalabilità in modalità di orchestrazione Flex usata per la macchina virtuale per questo nodo.
EncryptionAtHost (8.4.0+) Boolean Se true, la macchina virtuale avrà l'opzione Encryption At Host abilitata.
SecurityType (8.5.0+) string Imposta il tipo di sicurezza; indefinito o TrustedLaunchConfidentialVM
EnableSecureBoot (8.5.0+) Boolean Abilita l'avvio protetto, se si usano macchine virtuali di avvio attendibile o macchine virtuali riservate.
EnableVTPM (8.5.0+) Boolean 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à generale di Azure e ne deve essere creata una prima di poter fare riferimento a un nodo. In questo modo le macchine virtuali CycleCloud vengono 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 dell'immagine

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

ImageName

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

Attributo Type Definizione
ImageName string 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 Publisher, OfferSku e ImageVersion.

Attributo Type Definizione
Azure.Publisher string Immagine del Marketplace della macchina virtuale
Azure.Offer string Offerta per l'immagine del Marketplace della macchina virtuale
Azure.Sku string Sku dell'immagine del Marketplace della macchina virtuale
Azure.ImageVersion string Versione dell'immagine del Marketplace.

Nota

È anche possibile specificare un'immagine del Marketplace nell'attributo ImageName , codificato come URN nel formato Publisher:Offer:Sku:ImageVersion.

Immagini con piano tariffario personalizzato

Raccolta immagini condivise immagini associate a un piano tariffario 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, è possibile usare anche l'ID risorsa di un'immagine di macchina virtuale nella sottoscrizione delle credenziali:

Attributo Type Definizione
ImageId string ID risorsa dell'immagine della macchina virtuale

Attributi dell'immagine

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

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

Avviso

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

Nota

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

Esempio di immagine alternativa

Ecco un modello di esempio usando 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 Type Definizione
IsReturnProxy Boolean Stabilire il proxy del canale inverso a questo nodo. Un solo nodo per cluster può avere questa impostazione come true.
ReturnPath.Hostname Nome host Nome host in cui il nodo può raggiungere CycleCloud.
ReturnPath.WebserverPort Integer Porta del server Web in cui il nodo può raggiungere CycleCloud.
ReturnPath.BrokerPort Integer Broker in cui il nodo può raggiungere CycleCloud.

Tag

CycleCloud supporta l'assegnazione di tag alle macchine virtuali e alle macchine virtuali.

Attributo string Definizione
Tag string Usare 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 Macchine virtuali.

Attributo string Definizione
Interrompibile Boolean Se true, la macchina virtuale sarà una macchina virtuale spot per fornire prezzi ridotti.
MaxPrice Float Prezzo massimo da spendere sulla macchina virtuale. (Impostazione predefinita: -1)

attributi Nodearray-Specific

Tutti gli attributi per un nodo sono validi per un nodo, ma una matrice di nodi è una risorsa elastica in modo che siano disponibili attributi aggiuntivi. Nodearray è un driver per Azure VirtualMachine ScaleSets (VMSS) e può avere molte macchine virtuali di backup.

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

Nota

Verranno assegnati tutti i set di scalabilità di macchine virtuali FaultDomainCount = 1

Ereditarietà

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

Attributo string Definizione
Contenuto Boolean Se true, non creare un nodo o nodearray nel cluster. L'astrazione può essere utilizzata per l'ereditarietà. (Impostazione predefinita: false)
Extends 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, input-endpoint e configurazione come oggetti subordinati.