Obiekty Node i Nodearray
Obiekty node i nodearray to ranga 2 i podrzędna .cluster
Węzeł reprezentuje jedną maszynę wirtualną, natomiast węzełarray może reprezentować kolekcję Virtual Machines lub co najmniej jeden zestaw skalowania maszyn wirtualnych.
Wartości domyślne węzła
Jest [[node defaults]]
to specjalny węzeł abstrakcyjny, który określa ustawienie domyślne dla wszystkich węzłów i węzłówarray 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
Jest $Credentials
to odwołanie do parametru o nazwie "Credentials".
W my-cluster
programie grid
nodearray dziedziczy identyfikator Credential i SubnetId z węzła defaults
, ale używa określonego rozmiaru maszyny wirtualnej HPC o wartości 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 elementu IsReturnProxy
do zdefiniowania specjalnej roli programu ReturnProxy
, która będzie punktem końcowym dla zwrotnego serwera proxy kanału pochodzącego z usługi CycleCloud po uruchomieniu 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 atrybutów
Aby pomyślnie uruchomić węzeł, istnieje co najmniej cztery wymagane atrybuty:
Atrybut | Typ | Definicja |
---|---|---|
Typ maszyny | Ciąg | Rozmiar maszyny wirtualnej platformy Azure |
Identyfikator podsieci | Ciąg | Definicja podsieci w formularzu ${rg}/${vnet}/${subnet} |
Referencja | Ciąg | 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 |
---|---|---|
ComputerName | Ciąg | Nazwa komputera dla maszyny wirtualnej. Jeśli zostanie określona, zastępuje nazwę wygenerowaną przez system. |
ComputerNamePrefix | Ciąg | Prefiks poprzedzony nazwami komputerów generowanych przez system |
Strefa | Ciąg (lista) | Strefa dostępności dla maszyn wirtualnych lub usługi VMSS. Może być listą usługi VMSS. Przykład. Zone = 1,3 |
KeyPairLocation | Liczba całkowita | Gdzie cycleCloud znajdzie klucz SSH w lokalnym systemie plików |
Keepalive | Wartość logiczna | Jeśli to prawda, usługa CycleCloud uniemożliwi zakończenie tego węzła |
Locker | Ciąg | Określ nazwę funkcjilocker, z której mają być pobierane specyfikacje projektu. Zobacz Korzystanie z projektów |
Atrybut | Typ | Definicja |
---|---|---|
ComputerName | Ciąg | Nazwa komputera dla maszyny wirtualnej. Jeśli zostanie określona, zastępuje nazwę wygenerowaną przez system. |
ComputerNamePrefix | Ciąg | Prefiks poprzedzony nazwami komputerów generowanych przez system |
EfemeryczneOSDisk | Wartość logiczna | Użyj efemerycznego dysku rozruchowego dla maszyny wirtualnej, jeśli jest obsługiwany |
Strefa | Ciąg (lista) | Strefa dostępności dla maszyn wirtualnych lub usługi VMSS. Może być listą usługi VMSS. Przykład. Zone = 1,3 |
ProximityPlacementGroupId | Ciąg | Pełny identyfikator grupy umieszczania w pobliżu, aby umieścić ten węzeł. Musi zaczynać się od /subscriptions/ |
PlacementGroupId | Ciąg | W przypadku ustawienia ta etykieta jest używana do umieszczania tego węzła w pojedynczej grupie umieszczania ze wszystkimi innymi węzłami, które mają zgodną wartość elementu PlacementGroupId. Zapewnia to komunikację z mniejszym opóźnieniem 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 cycleCloud znajdzie klucz SSH w lokalnym systemie plików |
Keepalive | Wartość logiczna | Jeśli to prawda, usługa CycleCloud uniemożliwi zakończenie tego węzła |
Locker | Ciąg | Określ nazwę funkcjilocker, z której mają być pobierane specyfikacje projektu. Zobacz Korzystanie z projektów |
BootDiagnosticsUri | Ciąg | Identyfikator URI magazynu do diagnostyki rozruchu (np. https://mystorageaccount.blob.core.windows.net), jeśli określono. Zostaną naliczone opłaty za magazyn. |
HybridBenefit | Wartość logiczna | Jeśli ma wartość true, włącza licencjonowanie "Korzyść użycia hybrydowego platformy Azure" dla maszyn wirtualnych z systemem Windows |
EnableTerminateNotification (8.2.0+) | Wartość logiczna | Jeśli wartość true, umożliwia powiadomienie o zakończeniu 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, określa, jak długo maszyny wirtualne są przekazywane do obsługi zdarzenia przed usunięciem. |
ThrottleCapacity (8.2.2+) | Wartość logiczna | Jeśli to prawda, ten węzełarray zgłosi pojemność 0 do skalowania automatycznego przez wartość domyślną 5 minut po napotkaniu problemu z pojemnością |
ThrottleCapacityTime (8.2.2+) | Czas względny | Jeśli ThrottleCapacity jest włączona, jest to czas raportowania dostępności 0 po ograniczeniu pojemności. Wartość domyślna to "5m". |
HybridBenefitLicense (8.3.0+) | Ciąg | 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+) | Ciąg | W przypadku ustawienia jest to w pełni kwalifikowany identyfikator zestawu skalowania w trybie aranżacji Flex , który jest używany dla maszyny wirtualnej dla tego węzła. |
EncryptionAtHost (8.4.0+) | Wartość logiczna | Jeśli ma wartość true, maszyna wirtualna będzie mieć włączone szyfrowanie na hoście . |
SecurityType (8.5.0+) | Ciąg | Ustawia typ zabezpieczeń; niezdefiniowane lub TrustedLaunch ConfidentialVM |
EnableSecureBoot (8.5.0+) | Wartość logiczna | Włącza bezpieczny rozruch, jeśli używasz zaufanych maszyn wirtualnych uruchamiania lub poufnych maszyn wirtualnych. |
EnableVTPM (8.5.0+) | Wartość logiczna | Włącza wirtualny moduł zaufanej platformy, jeśli używasz zaufanych maszyn wirtualnych uruchamiania lub poufnych maszyn wirtualnych. |
Uwaga
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.
Pozwala to na sortowanie maszyn wirtualnych CycleCloud z innymi zasobami platformy Azure w tej grupie umieszczania w pobliżu, ale nie włącza sieci InfiniBand.
PlacementGroupId
Natomiast jest to dowolny ciąg w usłudze CycleCloud używany do grupowania maszyn wirtualnych dla węzłów w jednym zestawie skalowania, który jest ograniczony do tego samego przełącznika sieciowego, ale może nie zostać skontoczony 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 CycleCloud, definicje obrazów z witryny Marketplace i identyfikatory obrazów.
Imagename
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ą elementu ImageName
.
Atrybut | Typ | Definicja |
---|---|---|
Imagename | Ciąg | Nazwa obrazu obsługiwanego cyklem. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14] |
Obrazy z witryny Marketplace
Oprócz obrazów z witryny Marketplace zarządzanych przez cykl można użyć dowolnego obrazu z witryny Marketplace, określając Publisher
wartości , Offer
Sku
i ImageVersion
.
Atrybut | Typ | Definicja |
---|---|---|
Azure.Publisher | Ciąg | Obraz witryny Marketplace wydawcy maszyny wirtualnej |
Azure.Offer | Ciąg | Obraz oferty dla witryny Marketplace maszyn wirtualnych |
Azure.Sku | Ciąg | Jednostka SKU obrazu witryny Marketplace maszyny wirtualnej |
Azure.ImageVersion | Ciąg | Obraz Wersja obrazu witryny Marketplace. |
Uwaga
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
Shared Image Gallery obrazy z dołączonym planem cenowym wymagają informacji o planie do użycia, chyba że te informacje są przechowywane na obrazie Shared Image Gallery. Jest on określony za pomocą atrybutu ImagePlan
Publisher, Product i Plan zagnieżdżonych atrybutów.
Uwaga
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 | Ciąg | Identyfikator zasobu obrazu maszyny wirtualnej |
Atrybuty obrazu
Obraz i obrazy z witryny Marketplace zdefiniowane przez identyfikatory ImageId wymagają kilku dodatkowych ustawień, aby prawidłowo skonfigurować rozszerzenie systemu operacyjnego CycleCloud:
Atrybut | Typ | Definicja |
---|---|---|
DownloadJetpack | Wartość logiczna | Jeśli wartość false, usługa CycleCloud nie pobierze pakietu Jetpack z konta magazynu. Pakiet Jetpack musi być już zainstalowany. Uwaga: obsługiwane są tylko węzły systemu Linux. Wartość domyślna to true. Dodano w wersji 8.4.1. |
InstallJetpack | Wartość logiczna | Jeśli wartość false, usługa CycleCloud nie zainstaluje pakietu Jetpack na nowych maszynach wirtualnych. Wartość domyślna to true. |
AwaitInstallation | Wartość logiczna | Jeśli wartość false, usługa CycleCloud nie będzie czekać, aż pakiet Jetpack zgłosi szczegóły instalacji podczas tworzenia maszyny wirtualnej. Wartość domyślna to true. |
JetpackPlatform | Ciąg | Platforma instalatora Jetpack do użycia: centos-7 , , ubuntu-14.04 centos-6 , 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 środowiskach, w których występują problemy z pobieraniem z kont magazynu.
Uwaga
ImageId
jest używany domyślnie, jeśli wiele definicji obrazów jest uwzględnionych w definicji jednego 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 | Wartość logiczna | 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 | Hostname (Nazwa hosta) | Nazwa hosta, w którym węzeł może dotrzeć do aplikacji CycleCloud. |
ReturnPath.WebserverPort | Liczba całkowita | Port serwera internetowego, na którym węzeł może nawiązać dostęp do usługi 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 | Ciąg | Definicja |
---|---|---|
Tagi | Ciąg | Służy tags.my-tag = my-tag-value do dodawania tagów do wdrożenia oprócz tagów przypisanych do usługi CycleCloud domyślnie. |
Atrybuty regularne/typu spot
Usługa CycleCloud obsługuje korzystanie z maszyn wirtualnych typu spot za pomocą następujących atrybutów. Aby uzyskać więcej informacji, zobacz Virtual Machines spot.
Atrybut | Ciąg | Definicja |
---|---|---|
Przerywanej | Wartość logiczna | Jeśli to prawda, maszyna wirtualna będzie maszyną wirtualną typu spot, aby zapewnić obniżone ceny. |
MaxPrice | Float | Maksymalna cena do wydania na maszynę wirtualną. (Ustawienie domyślne: -1) |
atrybuty Nodearray-Specific
Wszystkie atrybuty węzła są prawidłowe dla tablicy nodearray, ale tablica węzłów jest zasobem elastycznym, dlatego 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 | Ciąg | Definicja |
---|---|---|
Azure.AllocationMethod | Ciąg | Ustaw tę opcję na , aby StandAlone zarządzać pojedynczymi maszynami wirtualnymi lub pozostawić niezdefiniowane, aby używać zestawu skalowania maszyn wirtualnych. |
Azure.SingleScaleset | Wartość logiczna | Użyj pojedynczego zestawu skalowania maszyn wirtualnych dla wszystkich węzłów (wartość domyślna: false). |
Azure.SinglePlacementGroup | Wartość logiczna | Użyj ustawienia pojedynczej grupy umieszczania dla zestawu skalowania maszyn wirtualnych. (Wartość domyślna: false) |
Azure.Overprovision | Wartość logiczna | Użyj funkcji Overprovision zestawu skalowania maszyn wirtualnych. 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 maksimum usługa CycleCloud doda do klastra dodatkowe zestawy skalowania maszyn wirtualnych. (Ustawienie domyślne: '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 | Ciąg | 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 | Ciąg | Definicja |
---|---|---|
Azure.AllocationMethod | Ciąg | Ustaw tę opcję, aby StandAlone zarządzać pojedynczymi maszynami wirtualnymi lub pozostawić niezdefiniowane do korzystania z usługi VMSS. |
Azure.SingleScaleset | Wartość logiczna | Użyj pojedynczego zestawu skalowania maszyn wirtualnych dla wszystkich węzłów (wartość domyślna: false). |
Azure.SinglePlacementGroup | Wartość logiczna | Użyj ustawienia grupy pojedynczego umieszczania dla usługi VMSS. (Wartość domyślna: false) |
Azure.Overprovision | Wartość logiczna | 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 dodatkowe usługi VMSS do klastra. (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 parametr MaxCount i MaxCoreCount można używać razem, w takim przypadku ograniczenie o niższym poziomie skuteczności zostanie zastosowane. |
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 parametr MaxCount i MaxCoreCount można używać razem, w takim przypadku ograniczenie o niższym poziomie skuteczności zostanie zastosowane. |
ShutdownPolicy | Ciąg | 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 przepustowościcapacity | Wartość logiczna | Czy wstrzymać żądania na platformie Azure po otrzymaniu Insufficient Capacity sygnału. (Wartość domyślna: false) |
ThrottleCapacityTime | Czas względny | Czas wycofywania po odebraniu Insufficient Capacity sygnału z platformy Azure. AvailableCount zostanie zgłoszony jako zero w tym czasie. (Ustawienie domyślne: '5m') |
Uwaga
Wszystkie maszyny wirtualne zostaną przypisane FaultDomainCount = 1
Dziedziczenie
Węzły i węzły, które są ściśle powiązane, mogą pochodzić z innych węzłów w tym samym szablonie klastra.
Te dziedziczone definicje minimalizują deklaracje wymagane przez udostępnianie wspólnych atrybutów. Często używana jest [[node defaults]]
sekcja, która jest specjalną definicją abstrakcyjną, która ma zastosowanie do wszystkich węzłów i węzłów w klastrze.
Atrybut | Ciąg | Definicja |
---|---|---|
Abstract | Wartość logiczna | Jeśli wartość true, nie należy tworzyć węzła ani węzłaarray w klastrze. Abstrakcja może służyć do dziedziczenia. (Wartość domyślna: false) |
Rozszerzenie | Ciąg (lista) | Uporządkowana lista dziedziczonych nazw węzłów/węzłów. Elementy w dalszej części listy mają pierwszeństwo, gdy wartości powodują konflikt. Węzeł "defaults" zawsze będzie zawsze najpierw znajdować się na liście. (Ustawienie domyślne: []) |
Obiekty podrzędne
Obiekty node/nodearray mają wolumin, interfejs sieciowy, klaster-init, punkt końcowy wejściowy i konfigurację jako obiekty podrzędne.