Praca z wskazówkami umieszczania na maszynie wirtualnej Platformy Azure Operator Nexus

Z tego artykułu dowiesz się, jak używać wskazówek, aby kierować umieszczaniem maszyn wirtualnych w środowisku Operator Nexus platformy Azure. Te wskazówki dotyczące umieszczania mogą służyć do tworzenia koligacji lub koligacji między maszynami wirtualnymi, maszynami bez systemu operacyjnego lub stojakami. Skorzystaj z wskazówek dotyczących umieszczania, aby upewnić się, że maszyny wirtualne są zaplanowane w żądany sposób w środowisku Platformy Azure Operator Nexus.

Reguły koligacji umożliwiają określenie, że maszyny wirtualne powinny być hostowane na tej samej maszynie fizycznej lub stojaku. Z drugiej strony reguły ochrony przed koligacją zapewniają, że maszyny wirtualne są hostowane na różnych maszynach fizycznych lub stojakach.

Ogólną odporność aplikacji można zwiększyć przy użyciu reguł anty-koligacji w celu rozłożenia maszyn wirtualnych w różnych domenach awarii (stojaki, maszyny fizyczne itp.). Wydajność kosztów aplikacji można zwiększyć przy użyciu reguł koligacji, aby spakować maszyny wirtualne na mniej maszyn fizycznych.

Wymagania wstępne

Przed kontynuowaniem pracy z tym przewodnikiem z instrukcjami upewnij się, że zostały wykonane wszystkie kroki opisane w przewodniku Szybki start dotyczącym maszyny wirtualnej Nexus operatora platformy Azure.

Konfiguracja wskazówek dotyczących umieszczania

W tej sekcji opisano koncepcję wskazówek dotyczących umieszczania oraz sposób działania poszczególnych pól w interfejsie API, co jest przydatne podczas konfigurowania maszyn wirtualnych i zarządzania nimi.

{
 "hintType": "Affinity/AntiAffinity",
 "resourceId": "ARM ID of the virtual machine, bare-metal machine, or rack",
 "schedulingExecution": "Hard/Soft",
 "scope": "Rack/Machine"
}

Typ wskazówki

Argument hintType jest używany w wskazówkach umieszczania, aby określić, czy wskazówka umieszczania obsługuje koligację, czy anty-koligację z przywoływanymi zasobami.

Argument hintType ma dwie możliwe wartości: Affinity lub AntiAffinity.

  • Koligacja: jeśli właściwość hintType jest ustawiona na koligację, wskazówka dotycząca umieszczania jest używana do tworzenia reguły koligacji między maszyną wirtualną a przywoływanych zasobów. W związku z tym maszyna wirtualna jest zaplanowana na określonej maszynie bez systemu operacyjnego, stojaku lub w pobliżu wystąpienia maszyny wirtualnej jako zasobu, do których odwołuje się odwołanie.
  • Antyaffinity: jeśli właściwość hintType jest ustawiona na AntiAffinity, wskazówka dotycząca umieszczania jest używana do tworzenia reguły anty-koligacji między maszyną wirtualną a przywoływanymi zasobami. W związku z tym maszyna wirtualna jest zaplanowana na innej maszynie bez systemu operacyjnego, stojaku lub wystąpieniu maszyny wirtualnej z zasobu, do których odwołuje się odwołanie.

Identyfikator zasobu

Argument resourceId w wskazówkach umieszczania określa obiekt docelowy, względem którego są sprawdzane wskazówki dotyczące umieszczania. Obiekt docelowy może być dowolny z poniższych.

  • Maszyna wirtualna: jeśli obiekt docelowy jest maszyną wirtualną, wskazówka umieszczania jest sprawdzana względem tego konkretnego wystąpienia maszyny wirtualnej.
  • BareMetalMachine: Jeśli obiekt docelowy jest maszyną bez systemu operacyjnego, wskazówka umieszczania jest sprawdzana względem tej konkretnej maszyny bez systemu operacyjnego.
  • Stojak: jeśli obiekt docelowy jest stojakiem, wskazówka umieszczania jest sprawdzana względem wszystkich maszyn bez systemu operacyjnego działających na tym stojaku.

Ważne

Argument resourceId musi być określony w postaci identyfikatora usługi ARM i musi być prawidłowym identyfikatorem zasobu dla obiektu docelowego. Jeśli identyfikator resourceId jest nieprawidłowy lub nieprawidłowy, wskazówka dotycząca umieszczania nie będzie działać poprawnie, a planowanie maszyn wirtualnych może zakończyć się niepowodzeniem.

Zakres

Argument scope jest używany w wskazówkach umieszczania, aby określić zakres koligacji maszyny wirtualnej lub wskazówki dotyczące umieszczania przeciw koligacji. Argument zakresu ma zastosowanie tylko wtedy, gdy resourceId argument jest przeznaczony dla maszyny wirtualnej.

Argument zakresu ma dwie możliwe wartości: Machine lub Rack.

  • Maszyna: jeśli zakres jest ustawiony na Maszynę, wskazówka umieszczania ma zastosowanie do tej samej maszyny bez systemu operacyjnego co określona maszyna wirtualna. Jeśli na przykład wskazówka umieszczania określa, że maszyna wirtualna powinna zostać umieszczona na tej samej maszynie bez systemu operacyjnego co określona maszyna wirtualna, zakres zostanie ustawiony na Wartość Maszyna.
  • Stojak: Jeśli zakres jest ustawiony na stojak, wskazówka dotycząca umieszczania dotyczy stojaka, do którego należy określona maszyna wirtualna. Jeśli na przykład wskazówka umieszczania określa, że maszyna wirtualna powinna zostać umieszczona w tym samym stojaku, który jest obecnie umieszczona określona maszyna wirtualna, zakres zostanie ustawiony na rack.

Ważne

Ten argument nie może być pusty.

Planowanie wykonywania

Argument schedulingExecution jest używany w wskazówkach umieszczania, aby określić, czy wskazówka umieszczania jest twardym lub miękkim wymaganiem podczas planowania.

Argument schedulingExecution ma dwie możliwe wartości: Hard lub Soft.

  • Hard: Jeśli ustawienie schedulingExecution ma wartość Hard, wskazówka dotycząca umieszczania jest uważana za ścisłe wymaganie podczas planowania. W związku z tym harmonogram umieszcza maszynę wirtualną tylko na określonym zasobie określonym w wskazówce umieszczania. Jeśli nie ma dostępnego zasobu spełniającego twarde wymaganie, planowanie maszyny wirtualnej zakończy się niepowodzeniem.
  • Nietrwałe: Jeśli ustawienie schedulingExecution ma wartość Soft, wskazówka umieszczania jest traktowana jako preferencja podczas planowania. W związku z tym harmonogram próbuje umieścić maszynę wirtualną w określonym zasobie określonym w wskazówce umieszczania, ale jeśli nie jest to możliwe, harmonogram może umieścić maszynę wirtualną na innym zasobie.

Przykład koligacji stojaka i koligacji przeciw koligacji

Uzyskiwanie dostępnych identyfikatorów stojaków

  1. Ustaw wymagane zmienne.

    NEXUS_CLUSTER_NAME=<Operator Nexus cluster name>
    NEXUS_CLUSTER_RG=<Operator Nexus cluster resource group>
    NEXUS_CLUSTER_SUBSCRIPTION="$(az account show -o tsv --query id)"
    NEXUS_CLUSTER_MANAGED_RG="$(az networkcloud cluster show -n $NEXUS_CLUSTER_NAME -g $NEXUS_CLUSTER_RG --query managedResourceGroupConfiguration.name | tr -d '\"')"
    
  2. Uzyskaj identyfikator stojaka.

    az networkcloud rack list -g $NEXUS_CLUSTER_MANAGED_RG --subscription $NEXUS_CLUSTER_SUBSCRIPTION --query [].id
    
  3. Przykładowe dane wyjściowe.

    $ az networkcloud rack list -g $NEXUS_CLUSTER_MANAGED_RG --subscription $NEXUS_CLUSTER_SUBSCRIPTION --query [].id    
    [
      "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<network-aggregation-rack>",
      "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-1>",
      "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-2>",
      "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-3>",
      "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-4>",
      "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-n>"
    ]
    

Umieszczanie maszyny wirtualnej na określonym stojaku

W tym przykładzie poznamy koncepcje miękkich i twardych koligacji, szczególnie dotyczące umieszczania maszyn wirtualnych na określonych stojakach.

Uwaga

W tym i poniższych przykładach podano tylko odmiany argumentu --placement-hints . Aby uzyskać rzeczywistą odpowiedź dotyczącą tworzenia maszyny wirtualnej z wskazówkami dotyczącymi umieszczania, należy dodać --placement-hints go do interfejsu wiersza polecenia przedstawionego w przewodniku Szybki start maszyny wirtualnej.

Ścisłe planowanie (koligacja w stojaku)

Ta wskazówka umieszczania używa parametru Affinity hintType, aby upewnić się, że maszyna wirtualna jest zaplanowana tylko na określonym stojaku z danym identyfikatorem stojaka. Jeśli stojak jest niedostępny lub brakuje pojemności, planowanie kończy się niepowodzeniem. Ta wskazówka dotycząca umieszczania może być przydatna w sytuacjach, w których chcesz mieć pewność, że niektóre maszyny wirtualne znajdują się na określonych stojakach ze względu na wydajność, bezpieczeństwo lub inne przyczyny.

--placement-hints '[{"hintType":"Affinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-2>","schedulingExecution":"Hard","scope":"Rack"}]'

Uwaga

Bieżąca konfiguracja wskazówek umieszczania z parametrem HintType koligacji gwarantuje, że maszyna wirtualna jest zaplanowana wyłącznie na określonym stojaku przy użyciu podanego identyfikatora stojaka. Należy jednak pamiętać, że koligacja stojaka nie może być określona dla więcej niż jednego stojaka z Hard wykonaniem harmonogramu. To ograniczenie może mieć wpływ na strategię wdrażania, szczególnie jeśli rozważasz umieszczenie maszyn wirtualnych na wielu stojakach i umożliwienie harmonogramowi wyboru z nich.

Preferowane planowanie (koligacja w stojaku)

Ta wskazówka umieszczania korzysta z parametru Affinity hintType, aby ustanowić regułę koligacji między maszyną wirtualną a wyznaczonym stojakiem. Wykorzystuje Soft również funkcję planowaniaExecution, aby umożliwić umieszczanie maszyny wirtualnej na alternatywnym stojaku, jeśli określony stojak nie jest dostępny lub nie ma pojemności.

--placement-hints '[{"hintType":"Affinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-2>","schedulingExecution":"Soft","scope":"Rack"}]'

Uniemożliwianie umieszczania maszyny wirtualnej w określonym stojaku

W tym przykładzie zapoznamy się z pojęciami miękkich i twardych anty-koligacji, szczególnie w zakresie zapobiegania umieszczaniu maszyn wirtualnych na określonych stojakach.

Ścisłe planowanie (koligacja w stojaku)

Ta wskazówka umieszczania używa zarówno AntiAffinity hintType, jak i Hard schedulingExecution, aby zapobiec zaplanowaniu maszyny wirtualnej na określonym stojaku zidentyfikowanym przez identyfikator stojaka. W tej konfiguracji harmonogram ściśle przestrzega tych wskazówek dotyczących umieszczania. Jeśli jednak identyfikator stojaka jest nieprawidłowy lub nie ma wystarczającej pojemności na innych stojakach, umieszczanie maszyny wirtualnej może zakończyć się niepowodzeniem z powodu ścisłego Hard stosowania reguły planowania

--placement-hints '[{"hintType":"AntiAffinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-2>","schedulingExecution":"Hard","scope":"Rack"}]'

Preferowane planowanie (koligacja w stojaku)

Ta wskazówka umieszczania używa parametru AntiAffinity hintType z zamiarem uniknięcia określonego stojaka na potrzeby umieszczania maszyny wirtualnej. Należy jednak pamiętać, że pomimo tych preferencji maszyna wirtualna nadal może zostać umieszczona na tym niesypisanym stojaku, jeśli inne stojaki nie mają wystarczającej pojemności. Dzieje się tak, ponieważ ustawienie schedulingExecution jest ustawione na Softwartość , co umożliwia, aby maszyna wirtualna została uwzględniona na początkowo unikanym stojaku, jeśli inne opcje nie są możliwe.

--placement-hints '[{"hintType":"AntiAffinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-2>","schedulingExecution":"Soft","scope":"Rack"}]'

Przykład koligacji maszyn bez systemu operacyjnego i koligacji przeciw koligacji

Uzyskiwanie dostępnych identyfikatorów maszyn bez systemu operacyjnego

  1. Ustaw wymagane zmienne.

    NEXUS_CLUSTER_NAME=<Operator Nexus cluster name>
    NEXUS_CLUSTER_RG=<Operator Nexus cluster resource group>
    NEXUS_CLUSTER_SUBSCRIPTION="$(az account show -o tsv --query id)"
    NEXUS_CLUSTER_MANAGED_RG="$(az networkcloud cluster show -n $NEXUS_CLUSTER_NAME -g $NEXUS_CLUSTER_RG --query managedResourceGroupConfiguration.name | tr -d '\"')"
    
  2. Uzyskaj identyfikator stojaka.

    az networkcloud baremetalmachine list -g $NEXUS_CLUSTER_RG --subscription $NEXUS_CLUSTER_SUBSCRIPTION --query "sort_by([].{ID: id, RackID: rackId}, &RackID)"
    
  3. Przykładowe dane wyjściowe.

    $ az networkcloud baremetalmachine list -g $NEXUS_CLUSTER_RG --subscription $NEXUS_CLUSTER_SUBSCRIPTION --query "sort_by([].{ID: id, RackID: rackId}, &RackID)"
    [
      {
        "ID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/bareMetalMachines/<machine-name>",
        "RackID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-1>"
      },
      {
        "ID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/bareMetalMachines/<machine-name>",
        "RackID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-2>"
      },
      {
        "ID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/bareMetalMachines/<machine-name>",
        "RackID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-3>"
      },
      {
        "ID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/bareMetalMachines/<machine-name>",
        "RackID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-4>"
      },
      {
        "ID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/bareMetalMachines/<machine-name>",
        "RackID": "/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/racks/<compute-rack-n>"
      }
    ]
    

Umieszczanie maszyny wirtualnej na określonej maszynie bez systemu operacyjnego

W tym przykładzie poznamy koncepcje miękkich i twardych koligacji, szczególnie dotyczące umieszczania maszyn wirtualnych na konkretnych maszynach bez systemu operacyjnego.

Ścisłe planowanie (koligacja maszyn bez systemu operacyjnego)

Ta wskazówka umieszczania używa parametru Affinity hintType, aby upewnić się, że maszyna wirtualna jest zaplanowana tylko na określonej maszynie bez systemu operacyjnego z danym identyfikatorem komputera bez systemu operacyjnego. Jeśli maszyna bez systemu operacyjnego jest niedostępna lub nie ma pojemności, planowanie kończy się niepowodzeniem. Ta wskazówka umieszczania może być przydatna w sytuacjach, w których chcesz upewnić się, że niektóre maszyny wirtualne są umieszczane na określonej maszynie bez systemu operacyjnego z powodów wydajności, zabezpieczeń lub innych powodów.

--placement-hints '[{"hintType":"Affinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/bareMetalMachines/<machine-name>","schedulingExecution":"Hard","scope":"Machine"}]'

Preferowane planowanie (koligacja maszyn bez systemu operacyjnego)

Ta wskazówka umieszczania używa parametru Affinity hintType do ustanowienia reguły koligacji między maszyną wirtualną a wyznaczoną maszyną bez systemu operacyjnego. Stosuje Soft ona również harmonogramExecution, aby umożliwić maszynie wirtualnej umieszczenie na alternatywnej maszynie bez systemu operacyjnego w przypadku, gdy określona maszyna bez systemu operacyjnego nie jest dostępna lub nie ma pojemności.

--placement-hints '[{"hintType":"Affinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/bareMetalMachines/<machine-name>","schedulingExecution":"Soft","scope":"Machine"}]'

Uniemożliwianie umieszczania maszyny wirtualnej na określonej maszynie bez systemu operacyjnego

W tym przykładzie zapoznamy się z pojęciami miękkich i twardych anty-koligacji, szczególnie w przypadku zapobiegania umieszczaniu maszyn wirtualnych na konkretnych maszynach bez systemu operacyjnego.

Ścisłe planowanie (anty-koligacja maszyn bez systemu operacyjnego)

Ta wskazówka umieszczania używa zarówno hintType, jak AntiAffinity i Hard schedulingExecution, aby zapobiec zaplanowaniu maszyny wirtualnej na określonej maszynie bez systemu operacyjnego zidentyfikowanej przez identyfikator komputera bez systemu operacyjnego. W tej konfiguracji harmonogram ściśle przestrzega tych wskazówek dotyczących umieszczania. Jeśli jednak identyfikator komputera bez systemu operacyjnego jest nieprawidłowy lub nie ma wystarczającej pojemności na innych komputerach bez systemu operacyjnego, umieszczanie maszyn wirtualnych może zakończyć się niepowodzeniem z powodu ścisłego Hard stosowania reguły planowania

--placement-hints '[{"hintType":"AntiAffinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/bareMetalMachines/<machine-name>","schedulingExecution":"Hard","scope":"Machine"}]'

Preferowane planowanie (anty-koligacja maszyn bez systemu operacyjnego)

Ta wskazówka umieszczania używa parametru AntiAffinity hintType z zamiarem uniknięcia określonej maszyny bez systemu operacyjnego na potrzeby umieszczania maszyny wirtualnej. Należy jednak pamiętać, że pomimo tych preferencji maszyna wirtualna nadal może zostać umieszczona na tej niepożądanej maszynie bez systemu operacyjnego, jeśli inne maszyny bez systemu operacyjnego nie mają wystarczającej pojemności. Dzieje się tak, ponieważ ustawienie schedulingExecution jest ustawione na Softwartość , co umożliwia, aby maszyna wirtualna została uwzględniona na maszynie bez systemu operacyjnego, jeśli inne opcje nie są możliwe.

--placement-hints '[{"hintType":"AntiAffinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/bareMetalMachines/<machine-name>","schedulingExecution":"Soft","scope":"Machine"}]'

Przykład koligacji maszyny wirtualnej z koligacją i koligacją przeciw koligacji

Uzyskiwanie dostępnych identyfikatorów maszyn wirtualnych

  1. Ustaw wymagane zmienne.

    RESOURCE_GROUP=<Target VM resource group>
    NEXUS_CLUSTER_SUBSCRIPTION="$(az account show -o tsv --query id)"
    
  2. Pobierz identyfikator maszyny wirtualnej.

    az networkcloud virtualmachine list -g $RESOURCE_GROUP --subscription $NEXUS_CLUSTER_SUBSCRIPTION --query [].id
    
  3. Przykładowe dane wyjściowe.

    $ az networkcloud virtualmachine list -g $RESOURCE_GROUP --subscription $NEXUS_CLUSTER_SUBSCRIPTION --query [].id
    [
      "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.NetworkCloud/virtualMachines/<vm-1>",
      "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.NetworkCloud/virtualMachines/<vm-2>",
      "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.NetworkCloud/virtualMachines/<vm-3>",
      "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.NetworkCloud/virtualMachines/<vm-n>"
    ]
    

Umieść maszynę wirtualną w pobliżu określonej maszyny wirtualnej

W tej sekcji omówiono umieszczanie maszyn wirtualnych w pobliżu niektórych maszyn wirtualnych, podkreślając ważną rolę parametru scope w konfiguracji wskazówek umieszczania. Harmonogram, za pośrednictwem zdefiniowanego zakresu, kieruje umieszczania maszyn wirtualnych na tej samej maszynie bez systemu operacyjnego lub w tym samym stojaku co przywoływny identyfikator resourceId maszyny wirtualnej. Należy pamiętać, że chociaż w przykładach przedstawionych w tym miejscu pokazano Hard wykonywanie harmonogramu, możesz użyć planowania zgodnie z Soft potrzebami w zależności od konkretnego przypadku użycia.

Umieszczanie maszyn wirtualnych na tej samej maszynie bez systemu operacyjnego (koligacja maszyny wirtualnej)

W tym przykładzie, określając Affinity jako typ wskazówek i Machine jako zakres, konfiguracja powoduje umieszczenie maszyny wirtualnej na tej samej maszynie bez systemu operacyjnego co maszyna wirtualna zidentyfikowana przez dany identyfikator zasobu. W związku z tym nowa maszyna wirtualna współużytkuje tę samą maszynę bez systemu operacyjnego co przywoływana maszyna wirtualna, co prowadzi do potencjalnie niższych opóźnień między maszynami wirtualnymi i zwiększonej wydajności.

--placement-hints '[{"hintType":"Affinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.NetworkCloud/virtualMachines/<vm-1>","schedulingExecution":"Hard","scope":"Machine"}]'

Umieszczanie maszyn wirtualnych w tym samym stojaku (koligacja maszyn wirtualnych)

W tym przykładzie konfiguracja z Affinity typem wskazówek i Rack zakresem prowadzi do umieszczania maszyn wirtualnych w tym samym stojaku co maszyna wirtualna zidentyfikowana przez dany identyfikator zasobu. W związku z tym nowe maszyny wirtualne znajdują się w fizycznej odległości od referencyjnej maszyny wirtualnej, co może zmniejszyć opóźnienie sieci i zwiększyć wydajność.

--placement-hints '[{"hintType":"Affinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.NetworkCloud/virtualMachines/<vm-1>","schedulingExecution":"Hard","scope":"Rack"}]'

Uniemożliwianie umieszczania maszyn wirtualnych w pobliżu określonej maszyny wirtualnej (anty-koligacja maszyn wirtualnych)

W tej sekcji AntiAffinity typ wskazówki służy do zapobiegania umieszczaniu maszyn wirtualnych w pobliżu niektórych innych maszyn wirtualnych. Parametr scope określa, czy to rozdzielenie ma miejsce na poziomie maszyny lub stojaka. Ta konfiguracja jest przydatna, gdy maszyny wirtualne muszą być rozłożone na różne sprzęty, aby uniknąć błędów lub problemów z wydajnością.

Uniemożliwianie umieszczania maszyn wirtualnych na tej samej maszynie bez systemu operacyjnego (koligacja maszyn wirtualnych)

W tym przykładzie po ustawieniu zakresu na Machinewartość uniemożliwia ona umieszczanie maszyn wirtualnych na tej samej maszynie bez systemu operacyjnego. Takie podejście zwiększa odporność na uszkodzenia dzięki zmniejszeniu ryzyka awarii pojedynczej maszyny wpływającej na obciążenie, co zwiększa ogólną niezawodność.

--placement-hints '[{"hintType":"AntiAffinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/virtualMachines/<vm-2>","schedulingExecution":"Hard","scope":"Machine"}]'

Uniemożliwianie umieszczania maszyn wirtualnych w tym samym stojaku (koligacja maszyn wirtualnych)

W tym przykładzie ustawienie zakresu w celu Rack zapewniania, że maszyny wirtualne nie znajdują się w tym samym stojaku. Ta konfiguracja pomaga zwiększyć odporność na uszkodzenia, zapewniając, że awaria pojedynczego stojaka nie wpływa na obciążenie.

--placement-hints '[{"hintType":"AntiAffinity","resourceId":"/subscriptions/<subscription>/resourceGroups/<managed-resource-group>/providers/Microsoft.NetworkCloud/virtualMachines/<vm-2>","schedulingExecution":"Hard","scope":"Rack"}]'

Następne kroki

W przykładach przedstawionych w tym artykule przedstawiono niektóre typowe przypadki użycia, ale interfejs API może służyć do implementowania szerokiej gamy scenariuszy umieszczania, dzięki czemu jest elastycznym i dostosowywanym rozwiązaniem do zarządzania umieszczaniem maszyn wirtualnych. scopeDostosuj parametry , schedulingExecutioni hintType w różnych kombinacjach, aby zrozumieć, jak wpływają one na umieszczanie maszyn wirtualnych. Odpowiednie użycie wskazówek dotyczących umieszczania może zwiększyć dostępność i odporność aplikacji i usług działających w wystąpieniu narzędzia Nexus operatora platformy Azure.