Veelgestelde vragen over Windows Server-knooppuntgroepen in AKS

In Azure Kubernetes Service (AKS) kunt u een knooppuntgroep maken waarop Windows Server wordt uitgevoerd als gastbesturingssysteem op de knooppunten. Deze knooppunten kunnen systeemeigen Windows-containertoepassingen uitvoeren, zoals toepassingen die zijn gebouwd op .NET Framework. Er zijn verschillen in hoe het Linux- en Windows-besturingssysteem containerondersteuning biedt. Sommige algemene functies voor Linux Kubernetes en pods zijn momenteel niet beschikbaar voor Windows-knooppuntgroepen.

In dit artikel vindt u een overzicht van enkele veelgestelde vragen en concepten van het besturingssysteem voor Windows Server-knooppunten in AKS.

Welk type schijven worden ondersteund voor Windows?

Azure Disks en Azure Files zijn de ondersteunde volumetypen en worden geopend als NTFS-volumes in de Windows Server-container.

Ondersteunen Linux en Windows virtuele machines van de tweede generatie (VM's)?

Vm's van de tweede generatie worden alleen ondersteund in Linux en Windows voor WS2022. Zie Ondersteuning voor VM's van de tweede generatie in Azure voor meer informatie.

Hoe kan ik mijn Windows-knooppunten patchen?

Als u de meest recente patches voor Windows-knooppunten wilt ophalen, kunt u de knooppuntgroep upgraden of de installatiekopieën van het knooppunt bijwerken. Windows-updates zijn niet ingeschakeld op knooppunten in AKS. AKS publiceert nieuwe installatiekopieën van knooppuntgroepen zodra er patches beschikbaar zijn en het is de verantwoordelijkheid van de gebruiker om knooppuntgroepen bij te werken om op de hoogte te blijven van patches en hotfixes. Dit patchproces geldt ook voor de Kubernetes-versie die wordt gebruikt. Opmerkingen bij de AKS-release geven aan wanneer er nieuwe versies beschikbaar zijn. Zie Een knooppuntgroep upgraden in AKS voor meer informatie over het upgraden van de Windows Server-knooppuntgroep. Als u alleen geïnteresseerd bent in het bijwerken van de afbeelding van het knooppunt, raadpleegt u de upgrades van de AKS-knooppuntinstallatiekopieën.

Notitie

De bijgewerkte Windows Server-installatiekopieën worden alleen gebruikt als een clusterupgrade (upgrade van het besturingsvlak) is uitgevoerd voordat de knooppuntgroep is bijgewerkt.

Wordt het ip-adres van de clientbron behouden?

Op dit moment wordt het behoud van ip-adressen van clientbronnen niet ondersteund met Windows-knooppunten.

Kan ik het maximum aantal pods per knooppunt wijzigen?

Ja. Zie Maximum aantal pods voor de gevolgen van het aanbrengen van een wijziging en de beschikbare opties.

Wat is de standaard-TCP-time-out in het Windows-besturingssysteem?

De standaard-TCP-time-out in het Windows-besturingssysteem is 4 minuten. Deze waarde kan niet worden geconfigureerd. Wanneer een toepassing een langere time-out gebruikt, worden de TCP-verbindingen tussen verschillende containers in hetzelfde knooppunt na vier minuten gesloten.

Waarom krijg ik een foutmelding wanneer ik een nieuwe Windows-agentgroep probeer te maken?

Als u uw cluster vóór februari 2020 hebt gemaakt en nog nooit een upgradebewerking voor het cluster hebt uitgevoerd, gebruikt het cluster nog steeds een oude Windows-installatiekopie. Mogelijk hebt u een fout gezien die lijkt op:

"De volgende lijst met installatiekopieën waarnaar wordt verwezen vanuit de implementatiesjabloon is niet gevonden: Publisher: MicrosoftWindowsServer, Offer: WindowsServer, Sku: 2019-datacenter-core-smalldisk-2004, version: latest. Raadpleeg Azure Marketplace VM-installatiekopieën zoeken en gebruiken met Azure PowerShell voor instructies over het vinden van beschikbare installatiekopieën.

Ga als volgt te werk om deze fout op te lossen:

  1. Werk het clusterbesturingsvlak bij om de aanbieding en uitgever van de installatiekopieën bij te werken.
  2. Maak nieuwe Windows-agentgroepen.
  3. Verplaats Windows-pods van bestaande Windows-agentgroepen naar nieuwe Windows-agentgroepen.
  4. Verwijder oude Windows-agentgroepen.

Waarom krijg ik een foutmelding wanneer ik Windows-pods probeer te implementeren?

Als u een waarde opgeeft in --max-pods minder dan het aantal pods dat u wilt maken, ziet u mogelijk de No available addresses fout.

Als u deze fout wilt oplossen, gebruikt u de az aks nodepool add opdracht met een hoge --max-pods waarde:

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

Zie de --max-pods documentatie voor meer informatie.

Waarom is er een onverwachte gebruiker met de naam 'sshd' op mijn VM-knooppunt?

AKS voegt een gebruiker met de naam 'sshd' toe bij het installeren van de OpenSSH-service. Deze gebruiker is niet schadelijk. We raden klanten aan hun waarschuwingen bij te werken om dit onverwachte gebruikersaccount te negeren.

Hoe kan ik de service-principal voor mijn Windows-knooppuntgroep draaien?

Windows-knooppuntpools bieden geen ondersteuning voor rotatie van service-principals. Als je de service-principal wilt bijwerken, maak je een nieuwe Windows-knooppuntpool en migreer je de pods vanuit de oudere groep naar de nieuwe. Nadat uw pods naar de nieuwe pool zijn gemigreerd, verwijdert u de oudere knooppuntgroep.

Gebruik in plaats van service-principals beheerde identiteiten, die in wezen wrappers zijn rond service-principals. Zie Beheerde identiteiten gebruiken in Azure Kubernetes Service voor meer informatie.

Hoe kan ik het beheerderswachtwoord voor Windows Server-knooppunten in mijn cluster wijzigen?

Wanneer u uw AKS-cluster maakt, geeft u de --windows-admin-password en --windows-admin-username parameters op om de beheerdersreferenties in te stellen voor alle Windows Server-knooppunten in het cluster. Als u geen beheerdersreferenties hebt opgegeven bij het maken van een cluster met behulp van Azure Portal of bij het instellen --vm-set-type VirtualMachineScaleSets en --network-plugin azure gebruiken van de Azure CLI, wordt de gebruikersnaam standaard ingesteld op AzureUser en een willekeurig wachtwoord.

Als u het beheerderswachtwoord wilt wijzigen, gebruikt u de az aks update opdracht:

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

Belangrijk

Als u de az aks update bewerking uitvoert, worden alleen Windows Server-knooppuntgroepen bijgewerkt en wordt het opnieuw opgestart. Linux-knooppuntgroepen worden niet beïnvloed.

Wanneer u het wijzigt --windows-admin-password, moet het nieuwe wachtwoord minimaal 14 tekens bevatten en voldoen aan de wachtwoordvereisten voor Windows Server.

Hoeveel knooppuntgroepen kan ik maken?

Een AKS-cluster met Windows-knooppuntgroepen heeft geen andere AKS-resourcelimiet dan de standaardwaarde die is opgegeven voor de AKS-service. Zie Quota, beperkingen voor grootte van virtuele machines en beschikbaarheid van regio's in Azure Kubernetes Service (AKS) voor meer informatie.

Wat kan ik mijn Windows-knooppuntgroepen een naam geven?

Een Windows-knooppuntgroep kan een zestekensnaam hebben.

Worden alle functies ondersteund met Windows-knooppunten?

Kubenet wordt momenteel niet ondersteund met Windows-knooppunten.

Kan ik toegangsbeheerobjectcontrollers uitvoeren op Windows-knooppunten?

Ja, een ingangscontroller die Ondersteuning biedt voor Windows Server-containers, kan worden uitgevoerd op Windows-knooppunten in AKS.

Kunnen mijn Windows Server-containers gMSA gebruiken?

Ondersteuning voor door groepen beheerde serviceaccounts (gMSA) is algemeen beschikbaar voor Windows op AKS. Zie Group Managed Service Accounts (GMSA) inschakelen voor uw Windows Server-knooppunten in uw AKS-cluster (Azure Kubernetes Service)

Kan ik Azure Monitor gebruiken voor containers met Windows-knooppunten en -containers?

Ja, dat kan. Azure Monitor is echter in openbare preview voor het verzamelen van logboeken (stdout, stderr) en metrische gegevens uit Windows-containers. U kunt ook vanuit een Windows-container toevoegen aan de livestream van stdout-logboeken.

Zijn er beperkingen voor het aantal services in een cluster met Windows-knooppunten?

Een cluster met Windows-knooppunten kan ongeveer 500 services (soms minder) hebben voordat er poortuitputting optreedt. Deze beperking is van toepassing op een Kubernetes-service waarvoor extern verkeersbeleid is ingesteld op 'Cluster'.

Wanneer extern verkeersbeleid voor een service is geconfigureerd als cluster, ondergaat het verkeer een extra bron-NAT op het knooppunt, wat ook leidt tot een reservering van een poort van de dynamische TCPIP-poortgroep. Deze poortgroep is een beperkte resource (~16.000 poorten standaard) en veel actieve verbindingen met een service(s) kunnen leiden tot dynamische uitputting van poortpools, wat leidt tot een daling van de verbinding.

Als de Kubernetes-service is geconfigureerd met extern verkeersbeleid dat is ingesteld op Lokaal, treden er waarschijnlijk geen poortuitputtingsproblemen op bij 500 services.

Kan ik Azure Hybrid Benefit gebruiken met Windows-knooppunten?

Ja. Azure Hybrid Benefit voor Windows Server vermindert de operationele kosten doordat u uw on-premises Windows Server-licentie kunt overbrengen naar AKS Windows-knooppunten.

Azure Hybrid Benefit kan worden gebruikt in uw hele AKS-cluster of op afzonderlijke knooppunten. Voor afzonderlijke knooppunten moet u naar de knooppuntresourcegroep bladeren en azure Hybrid Benefit rechtstreeks op de knooppunten toepassen. Zie Azure Hybrid Benefit voor Windows Server voor meer informatie over het toepassen van Azure Hybrid Benefit op afzonderlijke knooppunten.

Als u Azure Hybrid Benefit wilt gebruiken in een nieuw AKS-cluster, voert u de az aks create opdracht uit en gebruikt u het --enable-ahub argument.

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

Als u Azure Hybrid Benefit wilt gebruiken op een bestaand AKS-cluster, voert u de az aks update opdracht uit en gebruikt u het cluster bijwerken met behulp van het --enable-ahub argument.

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

Als u wilt controleren of Azure Hybrid Benefit is ingesteld op de Windows-knooppunten in het cluster, voert u de az vmss show opdracht uit met de --name en --resource-group argumenten om een query uit te voeren op de virtuele-machineschaalset. Als u de resourcegroep wilt identificeren waarin de schaalset voor de Windows-knooppuntgroep is gemaakt, kunt u de az vmss list -o table opdracht uitvoeren.

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

Als voor de Windows-knooppunten in de schaalset Azure Hybrid Benefit is ingeschakeld, ziet de uitvoer az vmss show er ongeveer als volgt uit:

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

Hoe kan ik de tijdzone van een actieve container wijzigen?

Als u de tijdzone van een actieve Windows Server-container wilt wijzigen, maakt u verbinding met de actieve container met een PowerShell-sessie. Voorbeeld:

kubectl exec -it CONTAINER-NAME -- powershell

Gebruik Set-TimeZone in de actieve container om de tijdzone van de actieve container in te stellen. Voorbeeld:

Set-TimeZone -Id "Russian Standard Time"

Gebruik Get-TimeZone om de huidige tijdzone van de actieve container of een beschikbare lijst met tijdzones weer te geven.

Kan ik sessieaffiniteit behouden van clientverbindingen met pods met Windows-containers?

Hoewel sessieaffiniteit van clientverbindingen met pods met Windows-containers wordt ondersteund in de versie van het besturingssysteem van Windows Server 2022, bereikt u sessieaffiniteit per client-IP momenteel door de gewenste pod te beperken om één exemplaar per knooppunt uit te voeren en uw Kubernetes-service te configureren om verkeer naar de pod op het lokale knooppunt te leiden.

Gebruik de volgende configuratie:

  1. Gebruik een AKS-cluster met minimaal versie 1.20.
  2. Beperk uw pod om slechts één exemplaar per Windows-knooppunt toe te staan. U kunt dit bereiken met behulp van antiaffiniteit in uw implementatieconfiguratie.
  3. Stel externalTrafficPolicy=Local in uw Kubernetes-serviceconfiguratie in. Dit zorgt ervoor dat de Kubernetes-service verkeer alleen omleidt naar pods binnen het lokale knooppunt.
  4. Stel in uw Kubernetes-serviceconfiguratie sessionAffinity in: ClientIP. Dit zorgt ervoor dat de Azure Load Balancer wordt geconfigureerd met sessieaffiniteit.

Volgende stappen

Zie Een knooppuntgroep maken waarop Windows Server in AKS wordt uitgevoerd om aan de slag te gaan met Windows Server-containers in AKS.