Enthält Antworten auf einige der häufig gestellten Fragen zur Verwendung von Windows-Server-Containern in Azure Kubernetes Service (AKS).
Welche Typen von Datenträgern werden für Windows unterstützt?
Azure-Datenträger und Azure Files sind die unterstützten Volumetypen, und auf sie wird als NTFS-Volumes (New Technology File System) im Windows Server-Container zugegriffen.
Unterstützt Windows virtuelle Computer (VMs) der Generation 2?
VMs der Generation 2 werden nur unter Windows für WS2022 unterstützt.
Weitere Informationen finden Sie unter Unterstützung für VMs der Generation 2 in Azure.
Wie kann ich meine Windows-Knoten patchen?
Sie können entweder den Knotenpool oder das Knotenimage aktualisieren, um die neuesten Patches für Windows-Knoten zu erhalten.
Wird das Beibehalten der Client-Quell-IP unterstützt?
Derzeit wird die Beibehaltung der Client-Quell-IP bei Windows-Knoten nicht unterstützt.
Kann ich die maximale Anzahl von Pods pro Knoten ändern?
Ja. Weitere Informationen finden Sie unter Maximale Anzahl von Pods.
Was ist das TCP-Timeout (Transmission Control Protocol) im Windows-Betriebssystem?
Das standardmäßige TCP-Timeout im Windows-Betriebssystem beträgt vier Minuten. Dieser Wert kann nicht konfiguriert werden. Wenn eine Anwendung ein längeres Timeout verwendet, werden die TCP-Verbindungen zwischen verschiedenen Containern auf demselben Knoten nach vier Minuten geschlossen.
Warum wird mir ein Fehler angezeigt, wenn ich versuche, einen neuen Windows-Agentpool zu erstellen?
Wenn Sie Ihren Cluster vor Februar 2020 erstellt und noch keine Upgrades durchgeführt haben, verwendet der Cluster immer noch ein altes Windows-Image. Möglicherweise wird ein Fehler angezeigt, der dem folgenden Beispiel ähnelt:
„Die folgende Liste von Images, auf die aus der Bereitstellungsvorlage verwiesen wird, wurde nicht gefunden: Publisher: MicrosoftWindowsServer, Angebot: WindowsServer, SKU: 2019-datacenter-core-smalldisk-2004, Version: neueste. Weitere Informationen zu verfügbaren Images finden Sie unter Suchen und Verwenden von VM-Images im Azure Marketplace mit Azure PowerShell.“
Sie müssen die folgenden Schritte ausführen, um das Problem zu beheben:
- Aktualisieren Sie die Clustersteuerungsebene, wodurch das Imageangebot und der Herausgeber aktualisiert werden.
- Erstellen Sie neue Windows-Agentpools.
- Verschieben Sie Windows-Pods aus vorhandenen Windows-Agentpools in neue Windows-Agentpools.
- Löschen Sie alte Windows-Agentpools.
Warum wird mir ein Fehler angezeigt, wenn ich versuche, Windows-Pods bereitzustellen?
Wenn Sie in --max-pods
einen Wert angeben, der kleiner ist als die Anzahl von Pods, die Sie erstellen möchten, kann der Fehler No available addresses
angezeigt werden.
Um diesen Fehler zu beheben, verwenden Sie den Befehl az aks nodepool add
mit einem Wert für --max-pods
, der hoch genug ist: Zum Beispiel:
az aks nodepool add \
--cluster-name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP \
--name $NODEPOOL_NAME \
--max-pods 3
Weitere Informationen finden Sie in der Dokumentation zu --max-pods
.
Warum gibt es einen unerwarteten Benutzer namens „sshd“ auf meinem VM-Knoten?
AKS fügt bei der Installation des OpenSSH-Diensts einen Benutzer namens „sshd“ hinzu. Dieser Benutzer ist nicht böswillig. Wir empfehlen unseren Kunden, ihre Warnungen zu aktualisieren, um dieses unerwartete Benutzerkonto zu ignorieren.
Wie rotiere ich den Dienstprinzipal für meinen Windows-Knotenpool?
Windows-Knotenpools unterstützen die Rotation von Dienstprinzipalen nicht. Erstellen Sie einen neuen Windows-Knotenpool, und migrieren Sie Ihre Pods vom älteren Pool zum neuen, um den Dienstprinzipal zu aktualisieren. Nachdem die Pods zum neuen Pool migriert wurden, löschen Sie den älteren Knotenpool.
Anstelle von Dienstprinzipalen können Sie verwaltete Identitäten verwenden. Weitere Informationen finden Sie unter Verwenden verwalteter Identitäten in AKS.
Wie ändere ich das Administratorkennwort für Windows Server-Knoten in meinem Cluster?
Verwenden Sie zum Ändern des Administratorkennworts bei Verwendung der Azure-Befehlszeilenschnittstelle den Befehl az aks update
mit dem Parameter --admin-password
. Zum Beispiel:
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--admin-password <new-password>
Um das Kennwort mithilfe von Azure PowerShell zu ändern, verwenden Sie das cmdlet Set-AzAksCluster
mit dem Parameter -AdminPassword
. Zum Beispiel:
Set-AzAksCluster `
-ResourceGroupName $RESOURCE_GROUP `
-Name $CLUSTER_NAME `
-AdminPassword <new-password>
Beachten Sie, dass das Ausführen eines Clusterupdates einen Neustart verursacht und nur die Windows Server-Knotenpools aktualisiert. Weitere Informationen zu Windows-Kennwortanforderungen finden Sie unter Kennwortanforderungen für Windows-Server.
Wie viele Knotenpools kann ich erstellen?
AKS-Cluster mit Windows-Knotenpools weisen dieselben Ressourcengrenzwerte auf wie die für den AKS-Dienst angegebenen Standardgrenzwerte. Weitere Informationen finden Sie unter Kontingente, Größeneinschränkungen für VMs und regionale Verfügbarkeit in Azure Kubernetes Service (AKS).
Kann ich Eingangscontroller auf Windows-Knoten ausführen?
Ja, Sie können Eingangscontroller ausführen, die Windows Server-Container unterstützen.
Können meine Windows Server-Container gMSA verwenden?
Ja. Die Unterstützung für gruppenverwaltete Dienstkonten (gMSA, Group-Managed Service Account) ist für Windows unter AKS allgemein verfügbar (GA). Weitere Informationen finden Sie unter Aktivieren von gruppenverwalteten Dienstkonten (GMSAs) für Ihre Windows Server-Knoten auf Ihrem AKS-Cluster (Azure Kubernetes Service).
Gibt es Einschränkungen in Bezug auf die Anzahl von Diensten in einem Cluster mit Windows-Knoten?
Ein Cluster mit Windows-Knoten kann ungefähr 500 Dienste enthalten (in manchen Fällen weniger), bevor es zu einer Portüberlastung kommt. Diese Einschränkung gilt für einen Kubernetes-Dienst, bei dem die Richtlinie für externen Datenverkehr auf „Cluster“ festgelegt ist.
Wenn die externe Datenverkehrsrichtlinie für einen Dienst als Cluster konfiguriert ist, wird der Datenverkehr einer zusätzlichen Quell-NAT auf dem Knoten unterzogen. Dieser Vorgang führt auch zur Reservierung eines Ports aus dem dynamischen TCPIP-Portpool. Bei diesem Portpool handelt es sich um eine begrenzte Ressource (standardmäßig ca. 16.000 Ports), und viele aktive Verbindungen mit Diensten können zu einer Überlastung des dynamischen Portpools führen, was Verbindungsausfälle nach sich zieht.
Wenn der Kubernetes-Dienst mit einer auf „Lokal“ festgelegten Richtlinie für den externen Datenverkehr konfiguriert ist, treten bei 500 Diensten wahrscheinlich keine Probleme durch Portüberlastung auf.
Wie kann ich die Zeitzone eines ausgeführten Containers ändern?
Stellen Sie eine Verbindung mit dem ausgeführten Container mithilfe einer PowerShell-Sitzung her, um die Zeitzone eines ausgeführten Windows Server-Containers zu ändern. Beispiel:
kubectl exec -it CONTAINER-NAME -- powershell
Verwenden Sie im ausgeführten Container Set-TimeZone, um die Zeitzone des ausgeführten Containers festzulegen. Beispiel:
Set-TimeZone -Id "Russian Standard Time"
Mithilfe von Get-TimeZone können Sie die aktuelle Zeitzone des ausgeführten Containers oder eine verfügbare Liste von Zeitzonen anzeigen.