Obiekty Node i Nodearray
Obiekty Node i nodearray są o 2 i podrzędne do cluster
. Węzeł reprezentuje jedną maszynę wirtualną, natomiast węzełarray może reprezentować kolekcję maszyn wirtualnych lub co najmniej jeden zestaw skalowania maszyn wirtualnych.
Wartości domyślne węzła
[[node defaults]]
jest specjalnym węzłem abstrakcyjnym, który określa ustawienie domyślne dla wszystkich węzłów i węzłów w klastrze:
[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
jest odwołaniem do parametru o nazwie "Credentials".
W my-cluster
grid
nodearray dziedziczy credential and SubnetId z węzła defaults
, ale używa określonego rozmiaru maszyny wirtualnej HPC Standard_H16
.
Przykład
Ten przykładowy szablon tworzy klaster z dwoma węzłami i węzłemarray. Węzeł serwera proxy używa IsReturnProxy
do zdefiniowania specjalnej roli ReturnProxy
, która będzie punktem końcowym serwera proxy odwrotnego kanału pochodzącego z usługi CycleCloud podczas uruchamiania klastra.
[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
Wymagane odwołanie do atrybutu
Aby pomyślnie uruchomić węzeł, istnieje co najmniej cztery wymagane atrybuty:
Atrybut | Typ | Definicja |
---|---|---|
Typ maszyny | Struna | Rozmiar maszyny wirtualnej platformy Azure |
Identyfikator podsieci | Struna | Definicja podsieci w formularzu ${rg}/${vnet}/${subnet} |
Poświadczenia | Struna | Nazwa konta dostawcy usług w chmurze. |
Czwarty wymagany atrybut jest powiązany z obrazem. Atrybut obrazu jest wymagany, ale istnieje kilka formularzy, które można wykonać — zobacz Atrybuty obrazu.
Dodatkowe atrybuty
Atrybut | Typ | Definicja |
---|---|---|
Nazwa komputera | Struna | Nazwa komputera dla maszyny wirtualnej. Jeśli zostanie określona, zastępuje nazwę wygenerowaną przez system. |
Nazwa_komputeraPrefiks | Struna | Prefiks prefiksu do nazw komputerów generowanych przez system |
Strefa | Ciąg (lista) | Strefa dostępności dla maszyn wirtualnych lub zestawów skalowania maszyn wirtualnych. Może być listą usługi VMSS. Np. Zone = 1,3 |
KeyPairLocation | Liczba całkowita | Gdzie usługa CycleCloud znajdzie klucz SSH w lokalnym systemie plików |
KeepAlive | Boolowski | Jeśli to prawda, usługa CycleCloud uniemożliwi zakończenie tego węzła |
Szafka | Struna | Określ nazwę szafki, z której mają być pobierane specyfikacje projektu. Zobacz Use Projects |
Atrybut | Typ | Definicja |
---|---|---|
Nazwa komputera | Struna | Nazwa komputera dla maszyny wirtualnej. Jeśli zostanie określona, zastępuje nazwę wygenerowaną przez system. |
Nazwa_komputeraPrefiks | Struna | Prefiks prefiksu do nazw komputerów generowanych przez system |
EfemeryczneOSDisk | Boolowski | Użyj efemerycznego dysku rozruchowego dla maszyny wirtualnej, jeśli jest obsługiwana |
Strefa | Ciąg (lista) | Strefa dostępności dla maszyn wirtualnych lub zestawów skalowania maszyn wirtualnych. Może być listą usługi VMSS. Np. Zone = 1,3 |
ProximityPlacementGroupId | Struna | Pełny identyfikator grupy umieszczania w pobliżu do umieszczenia tego węzła. Musi zaczynać się od /subscriptions/ |
PlacementGroupId | Struna | Jeśli ta etykieta zostanie ustawiona, zostanie użyta do umieszczenia tego węzła w jednej grupie umieszczania ze wszystkimi innymi węzłami, które mają zgodną wartość elementu PlacementGroupId. Zapewnia to komunikację o mniejszych opóźnieniach i jest wymagana do włączenia funkcji InfiniBand na rozmiarach maszyn wirtualnych, które go obsługują. Jest to zwykle ustawiane przez harmonogram zgodnie z potrzebami, aby nie trzeba było go określać ręcznie. |
KeyPairLocation | Liczba całkowita | Gdzie usługa CycleCloud znajdzie klucz SSH w lokalnym systemie plików |
KeepAlive | Boolowski | Jeśli to prawda, usługa CycleCloud uniemożliwi zakończenie tego węzła |
Szafka | Struna | Określ nazwę szafki, z której mają być pobierane specyfikacje projektu. Zobacz Use Projects |
BootDiagnosticsUri | Struna | Identyfikator URI magazynu na potrzeby diagnostyki rozruchu (na przykład: https://mystorageaccount.blob.core.windows.net/), jeśli określono. Zostaną naliczone opłaty za magazyn. |
HybridBenefit | Boolowski | Jeśli to prawda, włącza licencjonowanie "Korzyść użycia hybrydowego platformy Azure" dla maszyn wirtualnych z systemem Windows |
EnableTerminateNotification (8.2.0+) | Boolowski | Jeśli to prawda, umożliwia zakończenie powiadamiania wysyłania zdarzeń na maszynie wirtualnej do maszyny wirtualnej na potrzeby obsługi lokalnej. Dotyczy to tylko maszyn wirtualnych zestawu skalowania. |
TerminateNotificationTimeout (8.2.2+) | Czas względny | Jeśli powiadomienie o zakończeniu jest włączone, steruje to, jak długo maszyny wirtualne mają obsługiwać zdarzenie przed usunięciem. |
ThrottleCapacity (8.2.2+) | Boolowski | Jeśli to prawda, po wystąpieniu problemu z pojemnością program nodearray zgłosi pojemność 0 do skalowania automatycznego przez wartość domyślną 5 minut |
ThrottleCapacityTime (8.2.2+) | Czas względny | Jeśli ThrottleCapacity jest włączona, oznacza to, jak długo zgłosić dostępność 0 po ograniczeniu pojemności. Wartość domyślna to "5m". |
HybridBenefitLicense (8.3.0+) | Struna | Jeśli HybridBenefit ma wartość true, określa licencję do użycia: RHEL_BYOS , SLES_BYOS lub Windows_Server . Wartość domyślna to Windows_Server . |
FlexScaleSetId (8.3.0+) | Struna | W przypadku ustawienia jest to w pełni kwalifikowany identyfikator zestawu skalowania w trybie orkiestracji Flex używanym dla maszyny wirtualnej dla tego węzła. |
EncryptionAtHost (8.4.0+) | Boolowski | Jeśli to prawda, maszyna wirtualna będzie mieć włączone szyfrowanie na hoście. |
SecurityType (8.5.0+) | Struna | Ustawia typ zabezpieczeń ; niezdefiniowane, TrustedLaunch lub ConfidentialVM |
EnableSecureBoot (8.5.0+) | Boolowski | Włącza bezpieczny rozruch, jeśli używasz zaufanych maszyn wirtualnych uruchamiania lub poufnych maszyn wirtualnych. |
EnableVTPM (8.5.0+) | Boolowski | Włącza wirtualny moduł zaufanej platformy, jeśli używasz zaufanych maszyn wirtualnych uruchamiania lub poufnych maszyn wirtualnych. |
Nuta
Grupa umieszczania w pobliżu jest ogólną funkcją platformy Azure i należy ją utworzyć, zanim będzie można odwoływać się do niej w węźle.
Dzięki temu maszyny wirtualne CycleCloud są sortowane z innymi zasobami platformy Azure w tej grupie umieszczania w pobliżu, ale nie włączają sieci InfiniBand.
Z kolei PlacementGroupId
jest dowolnym ciągiem w usłudze CycleCloud używanym do grupowania maszyn wirtualnych dla węzłów w jeden zestaw skalowania, który jest ograniczony do tego samego przełącznika sieciowego, ale może nie być pogrupowany z innymi zasobami platformy Azure.
Mogą być używane razem, ale może to zmniejszyć liczbę maszyn wirtualnych, które można przydzielić.
Atrybuty obrazu
Obraz maszyny wirtualnej jest wymaganym ustawieniem do uruchomienia maszyny wirtualnej. Istnieją trzy prawidłowe formy definicji obrazu: domyślne nazwy obrazów usługi CycleCloud, definicje obrazów witryny Marketplace i identyfikatory obrazów.
Nazwa obrazu
Usługa CycleCloud obsługuje wiele domyślnych obrazów witryny Marketplace, które są dostępne dla różnych smaków systemu operacyjnego. Można je określić za pomocą ImageName
.
Atrybut | Typ | Definicja |
---|---|---|
Nazwa obrazu | Struna | Nazwa obrazu obsługiwanego przez cykl. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14] |
Obrazy z witryny Marketplace
Oprócz obrazów witryny Marketplace zarządzanych przez cykl dowolny obraz witryny Marketplace może być używany przez określenie Publisher
, Offer
, Sku
i ImageVersion
.
Atrybut | Typ | Definicja |
---|---|---|
Azure.Publisher | Struna | Obraz witryny Marketplace dla wydawcy maszyny wirtualnej |
Azure.Offer | Struna | Obraz oferty dla witryny Marketplace maszyn wirtualnych |
Azure.Sku | Struna | Jednostka SKU obrazu witryny Marketplace maszyny wirtualnej |
Azure.ImageVersion | Struna | Obraz wersja obrazu witryny Marketplace. |
Nuta
Obraz witryny Marketplace można również określić w atrybucie ImageName
zakodowanym jako identyfikator URIN w formularzu Publisher:Offer:Sku:ImageVersion
.
Obrazy z niestandardowym planem cen
Obrazy galerii obrazów udostępnionych z dołączonym planem cenowym wymagają informacji o planie, które mają być używane, chyba że informacje te są przechowywane na obrazie galerii obrazów udostępnionych. Jest on określony za pomocą atrybutu ImagePlan
przy użyciu atrybutów Wydawca, Produkt i Plan zagnieżdżonych.
Nuta
Używanie obrazów niestandardowych z planem cenowym wymaga usługi CycleCloud 8.0.2 lub nowszej.
Identyfikator obrazu
Alternatywnie można użyć identyfikatora zasobu obrazu maszyny wirtualnej w subskrypcji poświadczeń:
Atrybut | Typ | Definicja |
---|---|---|
Identyfikator obrazu | Struna | Identyfikator zasobu obrazu maszyny wirtualnej |
Atrybuty obrazu
Aby poprawnie skonfigurować rozszerzenie systemu operacyjnego CycleCloud, obrazy i obrazy zdefiniowane przez identyfikatory ImageId, potrzebne są kilka dodatkowych ustawień:
Atrybut | Typ | Definicja |
---|---|---|
DownloadJetpack | Boolowski | Jeśli wartość false, usługa CycleCloud nie pobierze pakietu Jetpack z konta magazynu. Pakiet Jetpack musi już być zainstalowany. Uwaga: obsługiwane są tylko węzły systemu Linux. Wartość domyślna to true. Dodano element w wersji 8.4.1. |
InstallJetpack | Boolowski | Jeśli wartość false, usługa CycleCloud nie zainstaluje pakietu Jetpack na nowych maszynach wirtualnych. Wartość domyślna to true. |
AwaitInstallation | Boolowski | Jeśli wartość false, usługa CycleCloud nie będzie czekać, aż pakiet Jetpack zgłosi szczegóły instalacji po utworzeniu maszyny wirtualnej. Wartość domyślna to true. |
JetpackPlatform | Struna | Platforma instalatora Jetpack do użycia: centos-7 , centos-6 , ubuntu-14.04 , ubuntu-16.04 , windows . Przestarzałe w wersji 7.7.0. |
Ostrzeżenie
Ustawienie InstallJetpack
lub AwaitInstallation
nie jest zalecane. Ponadto ustawienie DownloadJetpack
wymaga niestandardowego obrazu z poprawną wersją instalacji pakietu Jetpack i jest zalecane tylko w przypadku środowisk, w których występują problemy z pobieraniem z kont magazynu.
Nuta
ImageId
jest używany domyślnie, jeśli wiele definicji obrazów jest uwzględnionych w jednej definicji węzła.
Przykład alternatywnego obrazu
Oto przykładowy szablon korzystający z trzech alternatywnych konstrukcji obrazu dla węzłów:
[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
Zaawansowane atrybuty sieci
Atrybut | Typ | Definicja |
---|---|---|
IsReturnProxy | Boolowski | Ustanów zwrotny serwer proxy kanału do tego węzła. To ustawienie może mieć wartość true tylko jeden węzeł na klaster. |
ReturnPath.Hostname | Nazwa hosta | Nazwa hosta, w którym węzeł może uzyskać dostęp do aplikacji CycleCloud. |
ReturnPath.WebserverPort | Liczba całkowita | Port serwera internetowego, na którym węzeł może nawiązać dostęp do aplikacji CycleCloud. |
ReturnPath.BrokerPort | Liczba całkowita | Broker, w którym węzeł może dotrzeć do usługi CycleCloud. |
Tagi
Usługa CycleCloud obsługuje tagowanie maszyn wirtualnych i zestawów skalowania maszyn wirtualnych.
Atrybut | Struna | Definicja |
---|---|---|
Tagi | Struna | Użyj tags.my-tag = my-tag-value , aby dodać tagi do wdrożenia oprócz tagów przypisanych do usługi CycleCloud domyślnie. |
Atrybuty regularne/spot
Usługa CycleCloud obsługuje korzystanie z maszyn wirtualnych typu spot za pośrednictwem następujących atrybutów. Aby uzyskać więcej informacji, zobacz Spot Virtual Machines.
Atrybut | Struna | Definicja |
---|---|---|
Przerywanej | Boolowski | Jeśli to prawda, maszyna wirtualna będzie maszyną wirtualną typu spot, aby zapewnić obniżone ceny. |
MaxPrice | Spławik | Maksymalna cena do wydania na maszynę wirtualną. (Ustawienie domyślne: -1) |
atrybuty Nodearray-Specific
Wszystkie atrybuty węzła są prawidłowe dla tablicy węzłów, ale tablica węzłów jest zasobem elastycznym, dzięki czemu dostępne są dodatkowe atrybuty. Nodearray to sterownik usługi Azure VirtualMachine ScaleSets (VMSS) i może mieć wiele kopii zapasowych zestawów skalowania maszyn wirtualnych.
Atrybut | Struna | Definicja |
---|---|---|
Azure.AllocationMethod | Struna | Ustaw tę opcję na StandAlone , aby zarządzać pojedynczymi maszynami wirtualnymi lub pozostawić niezdefiniowane do korzystania z usługi VMSS. |
Azure.SingleScaleset | Boolowski | Użyj pojedynczego zestawu skalowania maszyn wirtualnych dla wszystkich węzłów (wartość domyślna: false). |
Azure.SinglePlacementGroup | Boolowski | Użyj ustawienia pojedynczej grupy umieszczania dla zestawu skalowania maszyn wirtualnych. (Wartość domyślna: false) |
Azure.Overprovision | Boolowski | Użyj funkcji Overprovision usługi VMSS. Usługa Cyclecloud będzie dynamicznie ustawiana w zależności od scenariusza. Jest to przesłonięcia. |
Azure.MaxScaleSetSize | Liczba całkowita | Ogranicz liczbę maszyn wirtualnych w jednym zestawie skalowania maszyn wirtualnych. Po osiągnięciu tego maksymalnego limitu usługa CycleCloud doda do klastra dodatkowe zestawy skalowania maszyn wirtualnych. (Wartość domyślna: "40") |
InitialCount | Liczba całkowita | Liczba węzłów do uruchomienia po uruchomieniu klastra. |
MaxCount | Liczba całkowita | Aby upewnić się, że klaster nigdy nie przekracza 10 węzłów, należy określić wartość 10. Należy pamiętać, że wartości MaxCount i MaxCoreCount można używać razem, w takim przypadku mniejsze ograniczenie skuteczne zacznie obowiązywać. |
InitialCoreCount | Liczba całkowita | Liczba rdzeni do uruchomienia po uruchomieniu klastra. |
MaxCoreCount | Liczba całkowita | Aby upewnić się, że klaster nigdy nie przekracza 100 rdzeni, należy określić wartość 100. Należy pamiętać, że wartości MaxCount i MaxCoreCount można używać razem, w takim przypadku mniejsze ograniczenie skuteczne zacznie obowiązywać. |
ShutdownPolicy | Struna | Wskazuje, co zrobić z maszyną wirtualną po zamknięciu węzła. Jeśli "zakończ", maszyna wirtualna zostanie usunięta po zamknięciu węzła. W przypadku cofnięcia przydziału węzeł zostanie zatrzymany. (Ustawienie domyślne: zakończenie) |
Atrybut | Struna | Definicja |
---|---|---|
Azure.AllocationMethod | Struna | Ustaw tę opcję na StandAlone , aby zarządzać pojedynczymi maszynami wirtualnymi lub pozostawić niezdefiniowane do korzystania z usługi VMSS. |
Azure.SingleScaleset | Boolowski | Użyj pojedynczego zestawu skalowania maszyn wirtualnych dla wszystkich węzłów (wartość domyślna: false). |
Azure.SinglePlacementGroup | Boolowski | Użyj ustawienia pojedynczej grupy umieszczania dla zestawu skalowania maszyn wirtualnych. (Wartość domyślna: false) |
Azure.Overprovision | Boolowski | Użyj funkcji Overprovision usługi VMSS. Usługa Cyclecloud będzie dynamicznie ustawiana w zależności od scenariusza. Jest to przesłonięcia. |
Azure.MaxScaleSetSize | Liczba całkowita | Ogranicz liczbę maszyn wirtualnych w jednym zestawie skalowania maszyn wirtualnych. Po osiągnięciu tego maksymalnego limitu usługa CycleCloud doda do klastra dodatkowe zestawy skalowania maszyn wirtualnych. (Wartość domyślna: "40") |
InitialCount | Liczba całkowita | Liczba węzłów do uruchomienia po uruchomieniu klastra. |
MaxCount | Liczba całkowita | Aby upewnić się, że klaster nigdy nie przekracza 10 węzłów, należy określić wartość 10. Należy pamiętać, że wartości MaxCount i MaxCoreCount można używać razem, w takim przypadku mniejsze ograniczenie skuteczne zacznie obowiązywać. |
InitialCoreCount | Liczba całkowita | Liczba rdzeni do uruchomienia po uruchomieniu klastra. |
MaxCoreCount | Liczba całkowita | Aby upewnić się, że klaster nigdy nie przekracza 100 rdzeni, należy określić wartość 100. Należy pamiętać, że wartości MaxCount i MaxCoreCount można używać razem, w takim przypadku mniejsze ograniczenie skuteczne zacznie obowiązywać. |
ShutdownPolicy | Struna | Wskazuje, co zrobić z maszyną wirtualną po zamknięciu węzła. Jeśli "zakończ", maszyna wirtualna zostanie usunięta po zamknięciu węzła. W przypadku cofnięcia przydziału węzeł zostanie zatrzymany. (Ustawienie domyślne: zakończenie) |
Ograniczanie przepływności | Boolowski | Czy wstrzymać żądania na platformie Azure po otrzymaniu sygnału Insufficient Capacity . (Wartość domyślna: false) |
ThrottleCapacityTime | Czas względny | Czas wycofywania po otrzymaniu sygnału Insufficient Capacity z platformy Azure.
AvailableCount będą zgłaszane jako zero w tym czasie. (Wartość domyślna: "5m") |
Nuta
Wszystkie maszyny wirtualne zostaną przypisane FaultDomainCount = 1
Dziedziczenie
Węzły i macierze węzłów, które są ściśle powiązane, mogą pochodzić z innych węzłów w tym samym szablonie klastra.
Te odziedziczone definicje minimalizują deklaracje wymagane przez udostępnianie wspólnych atrybutów. Często używana jest sekcja [[node defaults]]
, która jest specjalną definicją abstrakcyjną, która ma zastosowanie do wszystkich węzłów i węzłów w klastrze.
Atrybut | Struna | Definicja |
---|---|---|
Abstrakt | Boolowski | Jeśli wartość true, nie twórz węzła ani węzła w klastrze. Abstrakcja może służyć do dziedziczenia. (Wartość domyślna: false) |
Rozszerza | Ciąg (lista) | Uporządkowana lista dziedziczonych nazw węzłów/węzłówarray. Elementy w dalszej części listy mają pierwszeństwo, gdy wartości powodują konflikt. Węzeł "defaults" zawsze będzie znajdować się na liście jako pierwszy. (Ustawienie domyślne: []) |
Obiekty podrzędne
Obiekty node/nodearray mają wolumin , interfejs sieciowy, klastra init, wejściowy punkt końcowyi konfiguracji jako obiekty podrzędne.