Den här artikeln innehåller svar på några av de vanligaste frågorna om att använda Windows Server-containrar i Azure Kubernetes Service (AKS).
Vilken typ av diskar stöds för Windows?
Azure Disks och Azure Files är de volymtyper som stöds och används som NTFS-volymer (New Technology File System) i Windows Server-containern.
Har Windows stöd för virtuella datorer i generation 2??
Virtuella datorer av generation 2 stöds endast i Windows för WS2022.
Mer information finns i Stöd för virtuella datorer i generation 2 i Azure.
Hur gör jag för att korrigera mina Windows-noder?
Om du vill hämta de senaste korrigeringarna för Windows-noder kan du antingen uppgradera nodpoolen eller uppgradera nodbilden.
Stöds bevarandet av klientkällans IP-adress?
Just nu stöds inte IP-bevarande av klientkälla med Windows-noder.
Kan jag ändra det maximala antalet poddar per nod?
Ja. Mer information finns i Maximalt antal poddar.
Vad är TCP-tidsgränsen (Standard Transmission Control Protocol) i Windows OS?
TCP-standardtimeouten i Windows OS är fyra minuter. Det här värdet kan inte konfigureras. När ett program använder en längre tidsgräns stängs TCP-anslutningarna mellan olika containrar i samma nod efter fyra minuter.
Varför visas ett fel när jag försöker skapa en ny Windows-agentpool?
Om du skapade klustret före februari 2020 och inte utförde några uppgraderingsåtgärder använder klustret fortfarande en gammal Windows-avbildning. Du kan se ett fel som liknar följande exempel:
"Följande lista över avbildningar som refereras från distributionsmallen finns inte: Utgivare: MicrosoftWindowsServer, Erbjudande: WindowsServer, Sku: 2019-datacenter-core-smalldisk-2004, Version: senaste. Mer information om hur du hittar tillgängliga avbildningar finns i Hitta och använda avbildningar av virtuella Azure Marketplace-datorer med Azure PowerShell."
För att åtgärda det här problemet måste du utföra följande steg:
- Uppgradera klusterkontrollplanet, som uppdaterar avbildningserbjudandet och utgivaren.
- Skapa nya Windows-agentpooler.
- Flytta Windows-poddar från befintliga Windows-agentpooler till nya Windows-agentpooler.
- Ta bort gamla Windows-agentpooler.
Varför visas ett fel när jag försöker distribuera Windows-poddar?
Om du anger ett värde i --max-pods
mindre än det antal poddar som du vill skapa kan felet visas No available addresses
.
Åtgärda det här felet genom att az aks nodepool add
använda kommandot med ett tillräckligt --max-pods
högt värde. Till exempel:
az aks nodepool add \
--cluster-name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP \
--name $NODEPOOL_NAME \
--max-pods 3
Mer information finns i dokumentationen--max-pods
.
Varför finns det en oväntad användare med namnet "sshd" på min virtuella datornod?
AKS lägger till en användare med namnet "sshd" när du installerar OpenSSH-tjänsten. Den här användaren är inte skadlig. Vi rekommenderar att kunderna uppdaterar sina aviseringar för att ignorera det här oväntade användarkontot.
Hur gör jag för att rotera tjänstens huvudnamn för min Windows-nodpool?
Windows-nodpooler stöder inte rotation av tjänstens huvudnamn. Om du vill uppdatera tjänstens huvudnamn måste du skapa en ny Windows-nodpool och migrera dina poddar från den gamla poolen till den nya. När dina poddar har migrerats till den nya poolen tar du bort den äldre nodpoolen.
I stället för tjänstens huvudnamn kan du använda hanterade identiteter. Mer information finns i Använda hanterade identiteter i AKS.
Hur gör jag för att ändra administratörslösenordet för Windows Server-noder i mitt kluster?
Om du vill ändra administratörslösenordet med hjälp av Azure CLI använder du az aks update
kommandot med parametern --admin-password
. Till exempel:
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--admin-password <new-password>
Om du vill ändra lösenordet med Azure PowerShell använder du cmdleten Set-AzAksCluster
med parametern -AdminPassword
. Till exempel:
Set-AzAksCluster `
-ResourceGroupName $RESOURCE_GROUP `
-Name $CLUSTER_NAME `
-AdminPassword <new-password>
Tänk på att en klusteruppdatering orsakar en omstart och endast uppdaterar Windows Server-nodpoolerna. Information om lösenordskrav för Windows Server finns i Lösenordskrav för Windows Server.
Hur många nodpooler kan jag skapa?
AKS-kluster med Windows-nodpooler har samma resursgränser som de standardgränser som anges för AKS-tjänsten. Mer information finns i Kvoter, storleksbegränsningar för virtuella datorer och regiontillgänglighet i Azure Kubernetes Service (AKS).
Kan jag köra ingresskontrollanter på Windows-noder?
Ja, du kan köra ingresskontrollanter som stöder Windows Server-containrar.
Kan mina Windows Server-containrar använda gMSA?
Ja. Stöd för grupphanterat tjänstkonto (gMSA) är allmänt tillgängligt (GA) för Windows på AKS. Mer information finns i Aktivera grupphanterade tjänstkonton (GMSA) för dina Windows Server-noder i ditt AKS-kluster (Azure Kubernetes Service)
Finns det några begränsningar för antalet tjänster i ett kluster med Windows-noder?
Ett kluster med Windows-noder kan ha cirka 500 tjänster (ibland mindre) innan portöverbelastning uppstår. Den här begränsningen gäller för en Kubernetes-tjänst med en princip för extern trafik inställd på "Kluster".
När den externa trafikprincipen för en tjänst konfigureras som ett kluster genomgår trafiken en extra NAT-källa på noden. Den här processen resulterar också i en reservation av en port från den dynamiska TCPIP-portpoolen. Den här portpoolen är en begränsad resurs (~16 000 portar som standard) och många aktiva anslutningar till en tjänst kan leda till dynamisk portpoolsöverbelastning som resulterar i att anslutningen avbryts.
Om Kubernetes-tjänsten har konfigurerats med en extern trafikprincip inställd på "Lokal" uppstår sannolikt inte portöverbelastningsproblem vid 500 tjänster.
Hur gör jag för att ändra tidszonen för en container som körs?
Om du vill ändra tidszonen för en Windows Server-container som körs ansluter du till den container som körs med en PowerShell-session. Till exempel:
kubectl exec -it CONTAINER-NAME -- powershell
I containern som körs använder du Set-TimeZone för att ange tidszonen för den container som körs. Till exempel:
Set-TimeZone -Id "Russian Standard Time"
Om du vill se den aktuella tidszonen för containern som körs eller en tillgänglig lista över tidszoner använder du Get-TimeZone.