Node- och Nodearray-objekt
Nod- och nodearray-objekt är rangordnade 2 och underordnade till cluster
. En nod representerar en enda virtuell dator, medan en nodearray kan representera en samling Virtual Machines eller minst en VM-skalningsuppsättning.
Nodstandarder
[[node defaults]]
är en särskild abstrakt nod som anger standardinställningen för alla noder och nodearrays i ett kluster:
[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
är en referens till en parameter med namnet "Credentials".
grid
I my-cluster
ärver nodearrayen Credential och SubnetId från noden defaults
, men använder en specifik HPC VM-storlek på Standard_H16
.
Exempel
Den här exempelmallen skapar ett kluster med två noder och en nodearray. Proxynoden IsReturnProxy
använder för att definiera specialrollen ReturnProxy
för , som blir slutpunkten för en omvänd kanalproxy som kommer från CycleCloud när klustret startar.
[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
Referens för obligatoriskt attribut
Det finns minst fyra attribut som krävs för att starta en nod:
Attribut | Typ | Definition |
---|---|---|
MachineType | Sträng | Storleken på den virtuella Azure-datorn |
Undernäts-ID | Sträng | Undernätsdefinition i formuläret ${rg}/${vnet}/${subnet} |
Merit | Sträng | Namnet på molnproviderkontot. |
Det fjärde obligatoriska attributet är relaterat till en bild. Ett bildattribut krävs men det finns flera formulär som det kan ta – se Bildattribut.
Ytterligare attribut
Attribut | Typ | Definition |
---|---|---|
ComputerName | Sträng | Datornamn för virtuell dator. Om det anges åsidosätter det systemgenererade namnet. |
ComputerNamePrefix | Sträng | Prefixet läggs till i systemgenererade datornamn |
Zon | Sträng (lista) | Tillgänglighetszon för virtuella datorer eller VMSS. Kan vara en lista för VMSS. E.g. Zone = 1,3 |
KeyPairLocation | Integer | Där CycleCloud hittar ett SSH-nyckelpar på det lokala filsystemet |
Keepalive | Boolesk | Om det är sant förhindrar CycleCloud att den här noden avslutas |
Skåp | Sträng | Ange namnet på det skåp som du vill ladda ned projektspecifikationer från. Se Använda projekt |
Attribut | Typ | Definition |
---|---|---|
ComputerName | Sträng | Datornamn för virtuell dator. Om det anges åsidosätter det systemgenererade namnet. |
ComputerNamePrefix | Sträng | Prefixet läggs till i systemgenererade datornamn |
EphemeralOSDisk | Boolesk | Använd tillfälliga startdiskar för virtuella datorer, om det stöds |
Zon | Sträng (lista) | Tillgänglighetszon för virtuella datorer eller VMSS. Kan vara en lista för VMSS. E.g. Zone = 1,3 |
ProximityPlacementGroupId | Sträng | Det fullständiga ID:t för närhetsplaceringsgruppen för att placera den här noden i. Måste börja med /subscriptions/ |
PlacementGroupId | Sträng | Om den här etiketten anges används den för att placera den här noden i en enda placeringsgrupp med alla andra noder som har ett matchande värde för PlacementGroupId. Detta ger kortare svarstidskommunikation och krävs för att aktivera InfiniBand på VM-storlekar som stöder det. Detta anges vanligtvis av schemaläggaren efter behov så att det inte behöver anges manuellt. |
KeyPairLocation | Integer | Där CycleCloud hittar ett SSH-nyckelpar på det lokala filsystemet |
Keepalive | Boolesk | Om det är sant förhindrar CycleCloud att den här noden avslutas |
Skåp | Sträng | Ange namnet på det skåp som du vill ladda ned projektspecifikationer från. Se Använda projekt |
BootDiagnosticsUri | Sträng | Lagrings-URI för startdiagnostik (exempel: https://mystorageaccount.blob.core.windows.net), om det anges. Lagringsavgifter tillkommer. |
HybridBenefit | Boolesk | Om det är sant aktiverar "Azure Hybrid-förmån" licensiering för virtuella Windows-datorer |
EnableTerminateNotification (8.2.0+) | Boolesk | Om det är sant aktiverar du Avsluta meddelande för att skicka händelser vid borttagning av virtuella datorer till den virtuella datorn för lokal hantering. Detta gäller endast för skalningsuppsättningar för virtuella datorer. |
TerminateNotificationTimeout (8.2.2+) | Relativ tid | Om avslutsmeddelande är aktiverat styr detta hur länge virtuella datorer ges för att hantera händelsen innan de tas bort. |
ThrottleCapacity (8.2.2+) | Boolesk | Om det är sant rapporterar den här nodmatrisen 0 kapacitet till autoskalning under standardvärdet 5 minuter efter att ett kapacitetsproblem har uppstått |
ThrottleCapacityTime (8.2.2+) | Relativ tid | Om ThrottleCapacity är aktiverat är det så här länge du rapporterar 0 tillgänglighet efter att kapaciteten har begränsats. Standardvärdet är "5m". |
HybridBenefitLicense (8.3.0+) | Sträng | Om HybridBenefit är sant anger detta vilken licens som ska användas: RHEL_BYOS , SLES_BYOS eller Windows_Server . Standardvärdet är Windows_Server . |
FlexScaleSetId (8.3.0+) | Sträng | Om detta anges är detta det fullständigt kvalificerade ID:t för en skalningsuppsättning i Flex-orkestreringsläge som används för den virtuella datorn för den här noden. |
EncryptionAtHost (8.4.0+) | Boolesk | Om det är sant har den virtuella datorn Kryptering på värden aktiverat. |
SecurityType (8.5.0+) | Sträng | Anger säkerhetstypen; antingen odefinierad eller TrustedLaunch ConfidentialVM |
EnableSecureBoot (8.5.0+) | Boolesk | Aktiverar säker start om du använder betrodda virtuella datorer för start eller konfidentiella virtuella datorer. |
EnableVTPM (8.5.0+) | Boolesk | Aktiverar Virtual Trusted Platform Module om du använder betrodda virtuella datorer för start eller konfidentiella virtuella datorer. |
Anteckning
En närhetsplaceringsgrupp är en allmän Azure-funktion och en måste skapas innan den kan refereras till på en nod.
På så sätt kan virtuella CycleCloud-datorer samplaceras med andra Azure-resurser i närhetsplaceringsgruppen, men infiniBand-nätverk aktiveras inte.
Är däremot PlacementGroupId
en godtycklig sträng i CycleCloud som används för att gruppera virtuella datorer för noder i en enda skalningsuppsättning som är begränsad till samma nätverksväxel, men som kanske inte är samspelad med andra Azure-resurser.
De kan båda användas tillsammans, men detta kan minska antalet virtuella datorer som kan allokeras.
Bildattribut
Vm-avbildningen är en obligatorisk inställning för att starta en virtuell dator. Det finns tre giltiga former av bilddefinition: standardnamn för CycleCloud-avbildningar, Marketplace-bilddefinitioner och bild-ID:t.
ImageName
CycleCloud stöder ett antal Marketplace-standardavbildningar som är tillgängliga för olika operativsystemssmak. Dessa kan anges med en ImageName
.
Attribut | Typ | Definition |
---|---|---|
ImageName | Sträng | Namn på avbildningar som stöds med cykel. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14] |
Marketplace-avbildningar
Tillsammans med Cykelhanterade Marketplace-avbildningar kan alla Marketplace-avbildningar användas genom att Publisher
ange , Offer
Sku
och ImageVersion
.
Attribut | Typ | Definition |
---|---|---|
Azure.Publisher | Sträng | Utgivare av VM Marketplace-avbildning |
Azure.Offer | Sträng | Avbildning av Erbjudande för VM Marketplace |
Azure.Sku | Sträng | SKU för VM Marketplace-avbildning |
Azure.ImageVersion | Sträng | Avbildningsversion av Marketplace-avbildning. |
Anteckning
En Marketplace-avbildning kan också anges i ImageName
attributet, kodat som en URN i formatet Publisher:Offer:Sku:ImageVersion
.
Bilder med anpassad prisplan
Shared Image Gallery bilder som har en bifogad prisplan kräver information om planen som ska användas, såvida inte den informationen lagras i Shared Image Gallery avbildningen. Detta anges med ImagePlan
attributet med hjälp av kapslade attributen Publisher, Product och Plan.
Anteckning
Användning av anpassade avbildningar med en prisplan kräver CycleCloud 8.0.2 eller senare.
Imageid
Alternativt kan resurs-ID:t för en VM-avbildning i autentiseringsuppgifternas prenumeration också användas:
Attribut | Typ | Definition |
---|---|---|
Imageid | Sträng | Resurs-ID för VM-avbildning |
Bildattribut
Marketplace-avbildningar och avbildningar som definierats av ImageIds behöver några ytterligare inställningar för att konfigurera CycleCloud OS-tillägget korrekt:
Attribut | Typ | Definition |
---|---|---|
DownloadJetpack | Boolesk | Om det är falskt laddar CycleCloud inte ned Jetpack från lagringskontot. Jetpack måste redan vara installerat. Obs! Endast Linux-noder stöds. Standardvärdet är true. Lades till i 8.4.1. |
InstallJetpack | Boolesk | Om det är falskt installerar CycleCloud inte Jetpack på nya virtuella datorer. Standardvärdet är true. |
AwaitInstallation | Boolesk | Om det är falskt väntar CycleCloud inte på att Jetpack ska rapportera installationsinformation när den virtuella datorn skapas. Standardvärdet är true. |
JetpackPlatform | Sträng | Jetpack installer platform to use: centos-7 , centos-6 , ubuntu-14.04 , ubuntu-16.04 , windows . Inaktuell i 7.7.0. |
Varning
Inställning InstallJetpack
eller AwaitInstallation
rekommenderas inte. Dessutom kräver inställningen DownloadJetpack
en anpassad avbildning med rätt version av Jetpack-installationen och rekommenderas endast för miljöer som har problem med att ladda ned från lagringskonton.
Anteckning
ImageId
används som standard om flera bilddefinitioner ingår i en enskild noddefinition.
Exempel på alternativ bild
Här är en exempelmall som använder de tre alternativa avbildningskonstruktionerna för noderna:
[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
Avancerade nätverksattribut
Attribut | Typ | Definition |
---|---|---|
IsReturnProxy | Boolesk | Upprätta omvänd kanalproxy till den här noden. Endast en nod per kluster kan ha den här inställningen som sant. |
ReturnPath.Hostname | Värdnamn | Värdnamn där noden kan nå CycleCloud. |
ReturnPath.WebserverPort | Integer | Webbserverport där noden kan nå CycleCloud. |
ReturnPath.BrokerPort | Integer | Asynkron meddelandekö där noden kan nå CycleCloud. |
Taggar
CycleCloud stöder taggning av virtuella datorer och VMSS.
Attribut | Sträng | Definition |
---|---|---|
Taggar | Sträng | Använd tags.my-tag = my-tag-value för att lägga till taggar i distributionen utöver de taggar som tilldelats av CycleCloud som standard. |
Vanliga/oanvända attribut
CycleCloud stöder användning av virtuella datorer för oanvänd kapacitet via följande attribut. Mer information finns i Virtual Machines för oanvänd kapacitet.
Attribut | Sträng | Definition |
---|---|---|
Frånkopplingsbara | Boolesk | Om det är sant är den virtuella datorn en virtuell dator för oanvänd kapacitet som ger lägre priser. |
MaxPrice | Float | Det högsta priset som ska spenderas på den virtuella datorn. (Standard: -1) |
Nodearray-Specific attribut
Alla attribut för en nod är giltiga för en nodmatris, men en nodmatris är en elastisk resurs så ytterligare attribut är tillgängliga. Nodearray är en drivrutin för Azure VirtualMachine ScaleSets (VMSS) och kan ha många säkerhetskopierade VMSS.
Attribut | Sträng | Definition |
---|---|---|
Azure.AllocationMethod | Sträng | Ange detta till StandAlone för att hantera enskilda virtuella datorer eller lämna odefinierat för att använda VMSS. |
Azure.SingleScaleset | Boolesk | Använd en enda VMSS för alla noder (standard: falskt). |
Azure.SinglePlacementGroup | Boolesk | Använd inställningen för en enskild placeringsgrupp för VMSS. (Standard: false) |
Azure.Overprovision | Boolesk | Använd funktionen Overprovision i VMSS. Cyclecloud anges dynamiskt beroende på scenariot. Det här är en åsidosättning. |
Azure.MaxScaleSetSize | Integer | Begränsa antalet virtuella datorer i en enda VMSS. När det här maxvärdet har uppnåtts lägger CycleCloud till ytterligare VMSS i klustret. (Standard: '40') |
InitialCount | Integer | Antal noder som ska startas när klustret startar. |
MaxCount | Integer | För att säkerställa att klustret aldrig överskrider 10 noder anger du värdet 10. Observera att MaxCount och MaxCoreCount kan användas tillsammans, vilket innebär att den lägre effektiva begränsningen börjar gälla. |
InitialCoreCount | Integer | Antal kärnor som ska startas när klustret startar. |
MaxCoreCount | Integer | För att säkerställa att klustret aldrig överskrider 100 kärnor anger du värdet 100. Observera att MaxCount och MaxCoreCount kan användas tillsammans, vilket innebär att den lägre effektiva begränsningen börjar gälla. |
ShutdownPolicy | Sträng | Anger vad du ska göra med den virtuella datorn när en nod stängs av. Om "avsluta" tas den virtuella datorn bort när noden stängs av. Om "frigör" stoppas noden i stället. (Standard: avsluta) |
Attribut | Sträng | Definition |
---|---|---|
Azure.AllocationMethod | Sträng | Ange detta till StandAlone för att hantera enskilda virtuella datorer eller lämna odefinierat för att använda VMSS. |
Azure.SingleScaleset | Boolesk | Använd en enda VMSS för alla noder (standard: falskt). |
Azure.SinglePlacementGroup | Boolesk | Använd inställningen för en enskild placeringsgrupp för VMSS. (Standard: false) |
Azure.Overprovision | Boolesk | Använd funktionen Overprovision i VMSS. Cyclecloud anges dynamiskt beroende på scenariot. Det här är en åsidosättning. |
Azure.MaxScaleSetSize | Integer | Begränsa antalet virtuella datorer i en enda VMSS. När det här maxvärdet har uppnåtts lägger CycleCloud till ytterligare VMSS i klustret. (Standard: '40') |
InitialCount | Integer | Antal noder som ska startas när klustret startar. |
MaxCount | Integer | För att säkerställa att klustret aldrig överskrider 10 noder anger du värdet 10. Observera att MaxCount och MaxCoreCount kan användas tillsammans, vilket innebär att den lägre effektiva begränsningen börjar gälla. |
InitialCoreCount | Integer | Antal kärnor som ska startas när klustret startar. |
MaxCoreCount | Integer | För att säkerställa att klustret aldrig överskrider 100 kärnor anger du värdet 100. Observera att MaxCount och MaxCoreCount kan användas tillsammans, vilket innebär att den lägre effektiva begränsningen börjar gälla. |
ShutdownPolicy | Sträng | Anger vad du ska göra med den virtuella datorn när en nod stängs av. Om "avsluta" tas den virtuella datorn bort när noden stängs av. Om "frigör" stoppas noden i stället. (Standard: avsluta) |
ThrottleCapacity | Boolesk | Om begäranden till Azure ska pausas när signalen tas emot Insufficient Capacity . (Standard: false) |
ThrottleCapacityTime | Relativ tid | Backoff-tid efter att ha fått Insufficient Capacity signal från Azure. AvailableCount rapporteras som noll under den här tiden. (Standard: '5m') |
Anteckning
Alla VMSS tilldelas FaultDomainCount = 1
Arv
Noder och nodmatriser som är nära relaterade kan härledas från andra noder i samma klustermall.
Dessa ärvda definitioner minimerar de deklarationer som behövs genom att dela vanliga attribut. Ofta används avsnittet [[node defaults]]
, som är en särskild abstrakt definition som gäller för alla noder och nodmatriser i klustret.
Attribut | Sträng | Definition |
---|---|---|
Sammanfattning | Boolesk | Om det är sant ska du inte skapa en nod eller nodmatris i klustret. Abstraktet kan användas för arv. (Standard: false) |
Extends | Sträng (lista) | Sorterad lista över ärvda nod-/nodearray-namn. Objekt senare i listan har företräde när värden är i konflikt. Noden "defaults" kommer alltid att vara först i listan. (Standard: []) |
Underordnade objekt
Nod-/nodearray-objekten har volym, nätverksgränssnitt, cluster-init, indataslutpunkt och konfiguration som underordnade objekt.