Nod- och nodearray-objekt
Nod- och nodearray-objekt är rangordnade 2 och underordnade till cluster
. En nod representerar en enskild virtuell dator, medan en nodearray kan representera en samling virtuella datorer, eller minst en VM-skalningsuppsättning.
Standardvärden för noder
[[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 "Autentiseringsuppgifter".
I my-cluster
ärver grid
nodearray 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 använder IsReturnProxy
för att definiera den särskilda rollen för ReturnProxy
, som är 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
Obligatorisk attributreferens
Det finns minst fyra obligatoriska attribut 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} |
Autentiseringsuppgifter | Sträng | Namnet på molnleverantörskontot. |
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 den virtuella datorn. Om det anges åsidosätter det systemgenererade namnet. |
ComputerNamePrefix | Sträng | Prefixet föregås av systemgenererade datornamn |
Zon | Sträng (lista) | Tillgänglighetszon för virtuell dator eller VMSS. Kan vara en lista för VMSS. T.ex. Zone = 1,3 |
KeyPairLocation | Heltal | Där CycleCloud hittar ett SSH-nyckelpar på det lokala filsystemet |
KeepAlive | Boolesk | Om sant förhindrar CycleCloud att noden avslutas |
Skåp | Sträng | Ange namnet på skåpet som projektspecifikationer ska hämtas från. Se Använda projekt |
Attribut | Typ | Definition |
---|---|---|
ComputerName | Sträng | Datornamn för den virtuella datorn. Om det anges åsidosätter det systemgenererade namnet. |
ComputerNamePrefix | Sträng | Prefixet föregås av 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 virtuell dator eller VMSS. Kan vara en lista för VMSS. T.ex. 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 den inte behöver anges manuellt. |
KeyPairLocation | Heltal | Där CycleCloud hittar ett SSH-nyckelpar på det lokala filsystemet |
KeepAlive | Boolesk | Om sant förhindrar CycleCloud att noden avslutas |
Skåp | Sträng | Ange namnet på skåpet som projektspecifikationer ska hämtas 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 du "Azure Hybrid Benefit"-licensiering för virtuella Windows-datorer |
EnableTerminateNotification (8.2.0+) | Boolesk | Om det är sant kan Avsluta meddelande skicka händelser vid borttagning av virtuella datorer till den virtuella datorn för lokal hantering. Detta gäller endast för skalningsuppsättning av virtuella datorer. |
TerminateNotificationTimeout (8.2.2+) | Relativ tid | Om avsluta-meddelande ä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 nodearrayen 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 det 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ärd aktiverat. |
SecurityType (8.5.0+) | Sträng | Anger säkerhetstyp; antingen odefinierad, TrustedLaunch eller ConfidentialVM |
EnableSecureBoot (8.5.0+) | Boolesk | Aktiverar säker start, om du använder betrodda virtuella datorer eller konfidentiella virtuella datorer. |
EnableVTPM (8.5.0+) | Boolesk | Aktiverar Modul för virtuell betrodd plattform, om du använder betrodda virtuella startdatorer eller konfidentiella virtuella datorer. |
ScaleSetUpgradePolicyMode (8.6.2+) | Sträng | Anger uppgraderingsprincipen för skalningsuppsättningen, som styr vad som händer med befintliga virtuella datorer i en skalningsuppsättning när skalningsuppsättningsmallen ändras utanför CycleCloud. Detta bör vanligtvis aktiveras om du använder ett automatiserat verktyg för att ändra befintliga skalningsuppsättningar, till exempel Azure Policy. Obs! Detta inte automatiskt uppgradera OS-avbildningen. En av Automatic , Rolling eller Manual (standard). |
Not
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 samverka med andra Azure-resurser i närhetsplaceringsgruppen, men aktiverar inte InfiniBand-nätverk.
Däremot är 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.
Båda kan användas tillsammans, men det 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 ange Publisher
, Offer
, Sku
och ImageVersion
.
Attribut | Typ | Definition |
---|---|---|
Azure.Publisher | Sträng | Utgivare av Marketplace-avbildning för virtuell dator |
Azure.Offer | Sträng | Erbjudande för VM Marketplace-avbildning |
Azure.Sku | Sträng | Sku för VM Marketplace-avbildning |
Azure.ImageVersion | Sträng | Bildversion av Marketplace-avbildning. |
Not
En Marketplace-avbildning kan också anges i attributet ImageName
, som kodas som ett URN i formuläret Publisher:Offer:Sku:ImageVersion
.
Bilder med anpassad prisplan
Delade bildgalleribilder som har en bifogad prisplan kräver information om planen som ska användas, såvida inte den informationen lagras i bildgalleriet för delad bild. Det anges med attributet ImagePlan
med attributen Publisher, Product och Plan.
Not
Användning av anpassade avbildningar med en prisplan kräver CycleCloud 8.0.2 eller senare.
ImageId
Alternativt kan resurs-ID för en VM-avbildning i prenumerationen för autentiseringsuppgifter 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 sant. Lades till i 8.4.1. |
InstallJetpack | Boolesk | Om det är falskt installerar CycleCloud inte Jetpack på nya virtuella datorer. Standardvärdet är sant. |
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 sant. |
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
Du rekommenderas inte att ange InstallJetpack
eller AwaitInstallation
. 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.
Not
ImageId
används som standard om flera bilddefinitioner ingår i en enskild noddefinition.
Exempel på alternativ bild
Här är en exempelmall med de tre alternativa bildkonstruktionerna 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 true. |
ReturnPath.Hostname | Värdnamn | Värdnamn där noden kan nå CycleCloud. |
ReturnPath.WebserverPort | Heltal | Webbserverport där noden kan nå CycleCloud. |
ReturnPath.BrokerPort | Heltal | Broker 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 attribut/punktattribut
CycleCloud stöder användning av virtuella datorer med oanvänd kapacitet via följande attribut. Mer information finns i Spot Virtual Machines.
Attribut | Sträng | Definition |
---|---|---|
Frånkopplingsbara | Boolesk | Om det är sant är den virtuella datorn en virtuell dator med oanvänd kapacitet som ger lägre priser. |
MaxPrice | Flyta | 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 nodearray, 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 | Ställ in på StandAlone för att hantera enskilda virtuella datorer eller lämna odefinierat för att använda VMSS. |
Azure.SingleScaleset | Boolesk | Använd en enskild VMSS för alla noder (standard: false). |
Azure.SinglePlacementGroup | Boolesk | Använd inställningen för en placeringsgrupp för VMSS. (Standard: false) |
Azure.Overprovision | Boolesk | Använd funktionen Överetablering i VMSS. Cyclecloud anges dynamiskt beroende på scenariot. Det här är en åsidosättning. |
Azure.MaxScaleSetSize | Heltal | Begränsa antalet virtuella datorer i en enda VMSS. När det maximala värdet har uppnåtts lägger CycleCloud till ytterligare VMSS i klustret. (Standard: '40') |
InitialCount | Heltal | Antal noder som ska startas när klustret startar. |
MaxCount | Heltal | 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, i vilket fall den lägre effektiva begränsningen börjar gälla. |
InitialCoreCount | Heltal | Antal kärnor som ska startas när klustret startar. |
MaxCoreCount | Heltal | 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, i vilket fall 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 | Ställ in på StandAlone för att hantera enskilda virtuella datorer eller lämna odefinierat för att använda VMSS. |
Azure.SingleScaleset | Boolesk | Använd en enskild VMSS för alla noder (standard: false). |
Azure.SinglePlacementGroup | Boolesk | Använd inställningen för en placeringsgrupp för VMSS. (Standard: false) |
Azure.Overprovision | Boolesk | Använd funktionen Överetablering i VMSS. Cyclecloud anges dynamiskt beroende på scenariot. Det här är en åsidosättning. |
Azure.MaxScaleSetSize | Heltal | Begränsa antalet virtuella datorer i en enda VMSS. När det maximala värdet har uppnåtts lägger CycleCloud till ytterligare VMSS i klustret. (Standard: '40') |
InitialCount | Heltal | Antal noder som ska startas när klustret startar. |
MaxCount | Heltal | 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, i vilket fall den lägre effektiva begränsningen börjar gälla. |
InitialCoreCount | Heltal | Antal kärnor som ska startas när klustret startar. |
MaxCoreCount | Heltal | 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, i vilket fall 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 Insufficient Capacity signal tas emot. (Standard: false) |
ThrottleCapacityTime | Relativ tid | Backoff-tid efter att ha tagit emot Insufficient Capacity signal från Azure.
AvailableCount rapporteras som noll under den här tiden. (Standard: '5m') |
Not
Alla VMSS tilldelas FaultDomainCount = 1
Arv
Noder och nodearrays 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 nodearrays i klustret.
Attribut | Sträng | Definition |
---|---|---|
Abstrakt | Boolesk | Om det är sant ska du inte skapa en nod eller nodarray i klustret. Abstraktet kan användas för arv. (Standard: false) |
Sträcker sig | Sträng (lista) | Ordnad lista över ärvda noder/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, input-endpointoch konfiguration som underordnade objekt.