Często zadawane pytania dotyczące pul węzłów systemu Windows Server w usłudze AKS

W usłudze Azure Kubernetes Service (AKS) można utworzyć pulę węzłów z systemem operacyjnym Windows Server jako systemem operacyjnym gościa w węzłach. Te węzły mogą uruchamiać natywne aplikacje kontenerów systemu Windows, takie jak te utworzone na platformie .NET Framework. Istnieją różnice w sposobie zapewniania obsługi kontenerów przez system operacyjny Linux i Windows. Niektóre typowe funkcje platformy Kubernetes i zasobnika systemu Linux nie są obecnie dostępne dla pul węzłów systemu Windows.

W tym artykule opisano niektóre często zadawane pytania i pojęcia dotyczące systemu operacyjnego dla węzłów systemu Windows Server w usłudze AKS.

Jakiego rodzaju dyski są obsługiwane w systemie Windows?

Dyski platformy Azure i usługa Azure Files są obsługiwanymi typami woluminów i są dostępne jako woluminy NTFS w kontenerze systemu Windows Server.

Czy systemy Linux i Windows obsługują maszyny wirtualne generacji 2?

Maszyny wirtualne generacji 2 są obsługiwane tylko w systemach Linux i Windows dla usług WS2022. Aby uzyskać więcej informacji, zobacz Support for generation 2 VMs on Azure (Obsługa maszyn wirtualnych 2. generacji na platformie Azure).

Jak mogę poprawki węzłów systemu Windows?

Aby uzyskać najnowsze poprawki dla węzłów systemu Windows, możesz uaktualnić pulę węzłów lub uaktualnić obraz węzła. Aktualizacje systemu Windows nie są włączone w węzłach w usłudze AKS. Usługa AKS zwalnia nowe obrazy puli węzłów, gdy tylko są dostępne poprawki, i użytkownik ponosi odpowiedzialność za uaktualnianie pul węzłów, aby zachować aktualność poprawek i poprawek. Ten proces stosowania poprawek dotyczy również używanej wersji platformy Kubernetes. Informacje o wersji usługi AKS wskazują, kiedy są dostępne nowe wersje. Aby uzyskać więcej informacji na temat uaktualniania puli węzłów systemu Windows Server, zobacz Uaktualnianie puli węzłów w usłudze AKS. Jeśli interesuje Cię tylko aktualizowanie obrazu węzła, zobacz Uaktualnienia obrazów węzłów usługi AKS.

Uwaga

Zaktualizowany obraz systemu Windows Server będzie używany tylko wtedy, gdy uaktualnienie klastra (uaktualnienie płaszczyzny sterowania) zostało wykonane przed uaktualnieniem puli węzłów.

Czy ochrona źródłowego adresu IP klienta jest obsługiwana?

Obecnie zachowywanie źródłowego adresu IP klienta nie jest obsługiwane w węzłach systemu Windows.

Czy mogę zmienić maksymalną liczbę zasobników na węzeł?

Tak. Aby uzyskać konsekwencje wprowadzenia zmiany i dostępnych opcji, zobacz Maksymalna liczba zasobników.

Jaki jest domyślny limit czasu TCP w systemie operacyjnym Windows?

Domyślny limit czasu PROTOKOŁU TCP w systemie operacyjnym Windows wynosi 4 minuty. Ta wartość nie jest konfigurowalna. Gdy aplikacja używa dłuższego limitu czasu, połączenia TCP między różnymi kontenerami w tym samym węźle są zamykane po czterech minutach.

Dlaczego podczas próby utworzenia nowej puli agentów systemu Windows występuje błąd?

Jeśli klaster został utworzony przed lutym 2020 r. i nigdy nie wykonano żadnych operacji uaktualniania klastra, klaster nadal używa starego obrazu systemu Windows. Być może wystąpił błąd podobny do następującego:

"Nie można odnaleźć następującej listy obrazów, do których odwołuje się szablon wdrożenia: Publisher: MicrosoftWindowsServer, Offer: WindowsServer, Sku: 2019-datacenter-core-smalldisk-2004, Version: latest. Aby uzyskać instrukcje dotyczące znajdowania dostępnych obrazów obrazów maszyn wirtualnych w witrynie Azure PowerShell i korzystania z nich, zapoznaj się z artykułem Znajdowanie obrazów z witryny Azure Marketplace i korzystanie z nich.

Aby naprawić ten błąd:

  1. Uaktualnij płaszczyznę sterowania klastra, aby zaktualizować ofertę obrazu i wydawcę.
  2. Utwórz nowe pule agentów systemu Windows.
  3. Przenieś zasobniki systemu Windows z istniejących pul agentów systemu Windows do nowych pul agentów systemu Windows.
  4. Usuń stare pule agentów systemu Windows.

Dlaczego podczas próby wdrożenia zasobników systemu Windows występuje błąd?

Jeśli określisz wartość w --max-pods mniejszej niż liczba zasobników, które chcesz utworzyć, może zostać wyświetlony No available addresses błąd.

Aby naprawić ten błąd, użyj az aks nodepool add polecenia z wystarczającą --max-pods wartością:

az aks nodepool add \
    --cluster-name $CLUSTER_NAME \
    --resource-group $RESOURCE_GROUP \
    --name $NODEPOOL_NAME \
    --max-pods 3

Aby uzyskać więcej informacji, zobacz dokumentację--max-pods.

Dlaczego w węźle maszyny wirtualnej występuje nieoczekiwany użytkownik o nazwie "sshd"?

Usługa AKS dodaje użytkownika o nazwie "sshd" podczas instalowania usługi OpenSSH. Ten użytkownik nie jest złośliwy. Zalecamy, aby klienci zaktualizowali swoje alerty, aby zignorowali to nieoczekiwane konto użytkownika.

Jak mogę obracać jednostkę usługi dla puli węzłów systemu Windows?

Pule węzłów systemu Windows nie obsługują rotacji jednostki usługi. Aby zaktualizować jednostkę usługi, utwórz nową pulę węzłów systemu Windows i wykonaj migrację swoich zasobników ze starszej puli do nowej. Po przeprowadzeniu migracji zasobników do nowej puli usuń starszą pulę węzłów.

Zamiast jednostek usługi należy używać tożsamości zarządzanych, które zasadniczo są otokami jednostek usługi. Aby uzyskać więcej informacji, zobacz Używanie tożsamości zarządzanych w usłudze Azure Kubernetes Service.

Jak mogę zmienić hasło administratora dla węzłów systemu Windows Server w klastrze?

Podczas tworzenia klastra usługi AKS należy określić --windows-admin-password parametry i --windows-admin-username , aby ustawić poświadczenia administratora dla wszystkich węzłów systemu Windows Server w klastrze. Jeśli podczas tworzenia klastra nie określono poświadczeń administratora przy użyciu witryny Azure Portal lub ustawienia --vm-set-type VirtualMachineScaleSets i --network-plugin azure przy użyciu interfejsu wiersza polecenia platformy Azure, nazwa użytkownika jest domyślnie używana dla użytkownika azureuser i losowe hasło.

Aby zmienić hasło administratora, użyj az aks update polecenia :

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --windows-admin-password $NEW_PW

Ważne

az aks update Wykonanie operacji powoduje uaktualnienie tylko pul węzłów systemu Windows Server i spowoduje ponowne uruchomienie. Nie ma to wpływu na pule węzłów systemu Linux.

W przypadku zmiany --windows-admin-passwordnowe hasło musi zawierać co najmniej 14 znaków i spełniać wymagania dotyczące hasła systemu Windows Server.

Ile pul węzłów można utworzyć?

Klaster usługi AKS z pulami węzłów systemu Windows nie ma innego limitu zasobów usługi AKS niż domyślny określony dla usługi AKS. Aby uzyskać więcej informacji, zobacz Limity przydziału, ograniczenia rozmiaru maszyny wirtualnej i dostępność regionów w usłudze Azure Kubernetes Service (AKS).

Co mogę nazwać pul węzłów systemu Windows?

Pula węzłów systemu Windows może mieć nazwę sześcioznakową.

Czy wszystkie funkcje są obsługiwane w węzłach systemu Windows?

Platforma Kubenet nie jest obecnie obsługiwana w węzłach systemu Windows.

Czy mogę uruchamiać kontrolery ruchu przychodzącego w węzłach systemu Windows?

Tak, kontroler ruchu przychodzącego, który obsługuje kontenery systemu Windows Server, może działać w węzłach systemu Windows w usłudze AKS.

Czy kontenery systemu Windows Server mogą używać konta gMSA?

Obsługa konta usługi zarządzanego przez grupę (gMSA) jest ogólnie dostępna dla systemu Windows w usłudze AKS. Zobacz Włączanie kont usług zarządzanych przez grupę (GMSA) dla węzłów systemu Windows Server w klastrze usługi Azure Kubernetes Service (AKS)

Czy można używać usługi Azure Monitor dla kontenerów z węzłami i kontenerami systemu Windows?

Tak, możesz. Jednak usługa Azure Monitor jest dostępna w publicznej wersji zapoznawczej na potrzeby zbierania dzienników (stdout, stderr) i metryk z kontenerów systemu Windows. Możesz również dołączyć do strumienia na żywo dzienników stdout z kontenera systemu Windows.

Czy istnieją ograniczenia dotyczące liczby usług w klastrze z węzłami systemu Windows?

Klaster z węzłami systemu Windows może mieć około 500 usług (czasami mniej), zanim napotka wyczerpanie portów. To ograniczenie dotyczy usługi Kubernetes Service z zasadami ruchu zewnętrznego ustawionymi na "Klaster".

Gdy zasady ruchu zewnętrznego w usłudze są skonfigurowane jako klaster, ruch przechodzi dodatkowy źródłowy translator adresów sieciowych w węźle, co powoduje również rezerwację portu z puli portów dynamicznych TCPIP. Ta pula portów jest ograniczonym zasobem (domyślnie ok. 16K portów), a wiele aktywnych połączeń z usługami może prowadzić do wyczerpania puli portów dynamicznych, co powoduje spadek połączeń.

Jeśli usługa Kubernetes Service jest skonfigurowana z zasadami ruchu zewnętrznego ustawioną na "Lokalne", problemy z wyczerpaniem portów prawdopodobnie nie wystąpią w 500 usługach.

Czy można używać Korzyść użycia hybrydowego platformy Azure z węzłami systemu Windows?

Tak. Korzyść użycia hybrydowego platformy Azure dla systemu Windows Server zmniejsza koszty operacyjne, umożliwiając przeniesienie lokalnej licencji systemu Windows Server do węzłów systemu Windows usługi AKS.

Korzyść użycia hybrydowego platformy Azure można używać w całym klastrze usługi AKS lub w poszczególnych węzłach. W przypadku poszczególnych węzłów należy przejść do grupy zasobów węzła i zastosować Korzyść użycia hybrydowego platformy Azure bezpośrednio do węzłów. Aby uzyskać więcej informacji na temat stosowania Korzyść użycia hybrydowego platformy Azure do poszczególnych węzłów, zobacz Korzyść użycia hybrydowego platformy Azure dla systemu Windows Server.

Aby użyć Korzyść użycia hybrydowego platformy Azure w nowym klastrze usługi AKS, uruchom az aks create polecenie i użyj argumentu --enable-ahub .

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --load-balancer-sku Standard \
    --windows-admin-password 'Password1234$' \
    --windows-admin-username azure \
    --network-plugin azure
    --enable-ahub

Aby użyć Korzyść użycia hybrydowego platformy Azure w istniejącym klastrze usługi AKS, uruchom az aks update polecenie i użyj aktualizacji klastra przy użyciu argumentu --enable-ahub .

az aks update \
    --resource-group myResourceGroup
    --name myAKSCluster
    --enable-ahub

Aby sprawdzić, czy Korzyść użycia hybrydowego platformy Azure jest ustawiona na węzłach systemu Windows w klastrze, uruchom az vmss show polecenie z --name argumentami i--resource-group, aby wykonać zapytanie dotyczące zestawu skalowania maszyn wirtualnych. Aby zidentyfikować grupę zasobów, w której jest tworzony zestaw skalowania dla puli węzłów systemu Windows, możesz uruchomić az vmss list -o table polecenie .

az vmss show --name myScaleSet --resource-group MC_<resourceGroup>_<clusterName>_<region>

Jeśli węzły systemu Windows w zestawie skalowania Korzyść użycia hybrydowego platformy Azure włączone, dane wyjściowe az vmss show będą podobne do następujących:

""hardwareProfile": null,
    "licenseType": "Windows_Server",
    "networkProfile": {
      "healthProbe": null,
      "networkApiVersion": null,

Jak mogę zmienić strefę czasową uruchomionego kontenera?

Aby zmienić strefę czasową uruchomionego kontenera systemu Windows Server, połącz się z uruchomionym kontenerem za pomocą sesji programu PowerShell. Na przykład:

kubectl exec -it CONTAINER-NAME -- powershell

W uruchomionym kontenerze użyj polecenia Set-TimeZone , aby ustawić strefę czasową uruchomionego kontenera. Na przykład:

Set-TimeZone -Id "Russian Standard Time"

Aby wyświetlić bieżącą strefę czasową uruchomionego kontenera lub dostępną listę stref czasowych, użyj polecenia Get-TimeZone.

Czy mogę zachować koligację sesji z połączeń klientów z zasobnikami z kontenerami systemu Windows?

Mimo że utrzymywanie koligacji sesji z połączeń klienta z zasobnikami z kontenerami systemu Windows będzie obsługiwane w wersji systemu operacyjnego Windows Server 2022, koligacja sesji przez adres IP klienta obecnie przez ograniczenie żądanego zasobnika do uruchomienia pojedynczego wystąpienia na węzeł i skonfigurowanie usługi Kubernetes do kierowania ruchu do zasobnika w węźle lokalnym.

Użyj następującej konfiguracji:

  1. Użyj klastra usługi AKS z minimalną wersją 1.20.
  2. Ogranicz zasobnik, aby zezwolić tylko na jedno wystąpienie na węzeł systemu Windows. Można to osiągnąć przy użyciu anty-koligacji w konfiguracji wdrożenia.
  3. W konfiguracji usługi Kubernetes ustaw wartość externalTrafficPolicy=Local. Dzięki temu usługa Kubernetes kieruje ruch tylko do zasobników w węźle lokalnym.
  4. W konfiguracji usługi Kubernetes ustaw wartość sessionAffinity: ClientIP. Dzięki temu usługa Azure Load Balancer zostanie skonfigurowana z koligacją sesji.

Następne kroki

Aby rozpocząć pracę z kontenerami systemu Windows Server w usłudze AKS, zobacz Tworzenie puli węzłów z systemem Windows Server w usłudze AKS.