Auf dieser Seite erfahren Sie, wie Sie einen GKE-Cluster (Google Kubernetes Engine) mit Knotenpools erstellen, auf denen Microsoft Windows Server ausgeführt wird. Mit diesem Cluster können Sie Windows Server-Container verwenden. Microsoft Hyper-V-Container werden derzeit nicht unterstützt. Ähnlich wie Linux-Container bieten Windows Server-Container eine Prozess- und Namespace-Isolierung.
Ein Windows Server-Knoten benötigt mehr Ressourcen als ein typischer Linux-Knoten. Windows Server-Knoten benötigen die zusätzlichen Ressourcen, um das Windows-Betriebssystem auszuführen, und für die Windows Server-Komponenten, die nicht in Containern ausgeführt werden können. Da Windows Server-Knoten mehr Ressourcen benötigen, sind Ihre zuweisbaren Ressourcen niedriger als bei Linux-Knoten.
Cluster mit Windows Server-Knotenpools erstellen
In diesem Abschnitt erstellen Sie einen Cluster, der einen Windows Server-Container verwendet.
Zum Erstellen dieses Clusters müssen Sie die folgenden Schritte ausführen:
- Windows Server-Knoten-Image auswählen
gcloudaktualisieren und konfigurieren- Cluster und Knotenpools erstellen
kubectl-Anmeldedaten abrufen- Auf die Clusterinitialisierung warten
IAM-Dienstkonten für GKE einrichten
GKE verwendet IAM-Dienstkonten, die an Ihre Knoten angehängt sind, um Systemaufgaben wie Logging und Monitoring auszuführen. Diese Knoten-Dienstkonten müssen in Ihrem Projekt mindestens die Rolle Kubernetes Engine Default Node Service Account (roles/container.defaultNodeServiceAccount) haben. Standardmäßig verwendet GKE das Compute Engine-Standarddienstkonto, das automatisch in Ihrem Projekt erstellt wird, als Knotendienstkonto.
So weisen Sie dem Compute Engine-Standarddienstkonto die Rolle roles/container.defaultNodeServiceAccount zu:
Console
- Rufen Sie die Seite Willkommen auf:
- Klicken Sie im Feld Projektnummer auf In die Zwischenablage kopieren.
- Rufen Sie die IAM-Seite auf.
- Klicken Sie auf Zugriffsrechte erteilen.
- Geben Sie im Feld Neue Hauptkonten den folgenden Wert an:
Ersetzen SiePROJECT_NUMBER-compute@developer.gserviceaccount.comPROJECT_NUMBERdurch die kopierte Projektnummer. - Wählen Sie im Menü Rolle auswählen die Rolle Kubernetes Engine Default Node Service Account aus.
- Klicken Sie auf Speichern.
gcloud
- So finden Sie Ihre Google Cloud Projektnummer:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Ersetzen Sie
PROJECT_IDdurch Ihre Projekt-ID.Die Ausgabe sieht etwa so aus:
12345678901
- Weisen Sie dem Compute Engine-Standarddienstkonto die Rolle
roles/container.defaultNodeServiceAccountzu:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
Ersetzen Sie
PROJECT_NUMBERdurch die Projektnummer aus dem vorherigen Schritt.
Windows Server-Knoten-Image auswählen
Zur Ausführung in GKE müssen Knoten-Images für Windows Server-Container auf der empfohlenen Windows Server-Version 2022 (LTSC) oder Windows Server-Version 2019 (LTSC) erstellt werden. Letztere ist in GKE veraltet und kann nicht für Knotenpools mit GKE-Version 1.37 oder höher verwendet werden. Ein einzelner Cluster kann mehrere Windows Server-Knotenpools mit unterschiedlichen Windows Server-Versionen haben, aber jeder einzelne Knotenpool darf nur eine einzige Windows Server-Version verwenden.
Bei der Auswahl des Knoten-Images müssen Sie Folgendes beachten:
- Updates: Verwenden Sie LTSC2022, da LTSC2019 von GKE eingestellt wird. Das sollten Sie über LTSC2019 wissen:
- Keine Knoten-Image-Updates: GKE bietet keine Knoten-Image-Updates für LTSC2019 an, da es aufgrund von Updates des zugrunde liegenden Images zu Stabilitätsproblemen kommt, seit Microsoft den Mainstream-Support für das Image beendet hat. GKE-Knoten-Images sind an die Version des zugrunde liegenden Images vom Dezember 2025 angepinnt. Weitere Informationen finden Sie unter Windows Server 2019.
- Kompatibilität mit 1.37: In GKE-Version 1.37 und höher können Sie LTSC2019 nicht verwenden. Sie können keine neuen Knotenpools mit LTSC2019 und Version 1.37 erstellen und keine vorhandenen LTSC2019-Knotenpools auf Version 1.37 aktualisieren.
- Supportzeitraum:
- Der Supportzeitraum für ein Windows Server-Knoten-Image ist vom Supportzeitraum von Microsoft abhängig, wie unter Supportrichtlinie für Betriebssystem-Images erläutert.
Sie können das Supportenddatum für GKE-Windows-Knoten-Images mit dem Befehl
gcloud container get-server-configermitteln, wie im Abschnitt GKE- und Windows-Versionen zuordnen erläutert.
- Der Supportzeitraum für ein Windows Server-Knoten-Image ist vom Supportzeitraum von Microsoft abhängig, wie unter Supportrichtlinie für Betriebssystem-Images erläutert.
Sie können das Supportenddatum für GKE-Windows-Knoten-Images mit dem Befehl
- Versionskompatibilität und -komplexität:
- Sowohl Windows Server Core als auch Nano Server können als Basis-Image für Ihre Container verwendet werden.
- Wenn Sie Ihre Windows Server-Container-Images als Images für mehrere Architekturen erstellen, die auf mehrere Windows Server-Versionen angewendet werden können, können Sie diese Komplexität bei der Versionierung besser bewältigen.
gcloud aktualisieren und konfigurieren
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem Befehl
gcloud components updateab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
- Prüfen Sie, ob Sie die erforderliche Berechtigung zum Erstellen von Clustern haben. Sie sollten mindestens ein Kubernetes Engine-Cluster-Administrator sein.
Cluster und Knotenpools erstellen
Zum Ausführen von Windows Server-Containern muss Ihr Cluster mindestens einen Windows- und einen Linux-Knotenpool haben. Sie können einen Cluster nicht nur mit einem Windows Server-Knotenpool erstellen. Der Linux-Knotenpool ist erforderlich, um kritische Cluster-Add-ons auszuführen.
Lesen Sie vor dem Erstellen eines Clusters mit Windows Server-Knotenpools den Abschnitt Windows Server-Knotenpools aktualisieren.
Aufgrund seiner Bedeutung empfehlen wir, Autoscaling zu aktivieren, um sicherzustellen, dass Ihr Linux-Knotenpool über genügend Kapazität zum Ausführen von Cluster-Add-ons verfügt.
gcloud
Erstellen Sie einen Cluster mit den folgenden Feldern:
gcloud container clusters create CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--enable-ip-alias \
--num-nodes=NUMBER_OF_NODES \
--cluster-version=VERSION_NUMBER \
--release-channel CHANNEL
Dabei gilt:
CLUSTER_NAMEist der von Ihnen für den Cluster ausgewählte Name.CONTROL_PLANE_LOCATION: der Compute Engine-Standort der Steuerungsebene Ihres Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.--enable-ip-aliasaktiviert die Alias-IP. Für Windows Server-Knoten ist eine Alias-IP erforderlich. Weitere Informationen zu den Vorteilen finden Sie unter Understanding native container routing with Alias IPs.NUMBER_OF_NODESist die Anzahl der Linux-Knoten, die Sie erstellen. Sie sollten genügend Rechenressourcen bereitstellen, um Cluster-Add-ons auszuführen. Dies ist ein optionales Feld und verwendet den Standardwert3, falls nichts angegeben wird.VERSION_NUMBER: die spezifische Clusterversion, die Sie verwenden möchten. Wenn Sie keine Release-Version angeben, registriert GKE Ihren Cluster in der ausgereiftesten Release-Version, in der diese Version verfügbar ist.CHANNEL: der Release-Kanal für die Registrierung des Clusters, der entwederrapid,regular,stableoderNone(eingestellt) ist. Standardmäßig ist der Cluster für die Release-Versionregularregistriert.
Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben, das Ihre Knoten anstelle des Compute Engine-Standarddienstkontos verwenden können. Eine Anleitung zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.
Wenn Sie ein benutzerdefiniertes Dienstkonto in der gcloud CLI angeben möchten, fügen Sie Ihrem Befehl das folgende Flag hinzu:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.comErsetzen Sie SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos mit minimalen Berechtigungen.
Erstellen Sie den Windows Server-Knotenpool mit den folgenden Feldern:
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--image-type=WINDOWS_LTSC_CONTAINERD \
--machine-type=MACHINE_TYPE_NAME \
--windows-os-version=WINDOWS_OS_VERSION
Dabei gilt:
NODE_POOL_NAMEist der Name, den Sie für den Windows Server-Knotenpool auswählen.CLUSTER_NAMEist der Name des Clusters, den Sie oben erstellt haben.CONTROL_PLANE_LOCATION: der Compute Engine-Standort der Steuerungsebene Ihres Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.MACHINE_TYPE_NAMEdefiniert den Maschinentyp.n1-standard-2ist der empfohlene Mindestmaschinentyp, da Windows Server-Knoten zusätzliche Ressourcen benötigen. Die Maschinentypenf1-microundg1-smallwerden nicht unterstützt. Jeder Maschinentyp wird unterschiedlich abgerechnet. Weitere Informationen finden Sie in der Preisübersicht für Maschinentypen.WINDOWS_OS_VERSION: Dies ist ein optionales Flag, das die Windows-Betriebssystemversion definiert, die für den Image-TypWINDOWS_LTSC_CONTAINERDverwendet werden soll. In GKE-Version 1.37 und höher können Sie nur LTSC2022 (ltsc2022) verwenden. In Version 1.36 oder niedriger empfehlen wir, den Wert explizit aufltsc2022festzulegen. Andernfalls verwendet GKE LTSC2019 (ltsc2019), was nicht empfohlen wird, da es von GKE eingestellt wird.
Das folgende Beispiel zeigt, wie Sie einen Windows Server 2022-Knotenpool erstellen:
gcloud container node-pools create node_pool_name \
--cluster=cluster_name \
--location=us-central1 \
--image-type=WINDOWS_LTSC_CONTAINERD \
--windows-os-version=ltsc2022
Das folgende Beispiel zeigt, wie Sie einen vorhandenen Windows-Knotenpool aktualisieren, um das Windows Server 2022-Betriebssystem-Image zu verwenden:
gcloud container node-pools create node_pool_name \
--cluster=cluster_name \
--location=us-central1 \
--windows-os-version=ltsc2022
Console
- Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.
- Führen Sie im Bereich Clustergrundlagen die folgenden Schritte aus:
- Geben Sie den Namen für den Cluster ein.
- Wählen Sie als Standorttyp eine Region oder Zone für den Cluster aus.
- Wählen Sie unter Release-Versionen eine Release-Version und optional eine Zielversion aus.
- Klicken Sie im Navigationsbereich unter Knotenpools auf Standardpool, um Ihren Linux-Knotenpool zu erstellen. Beim Konfigurieren dieses Knotenpools sollten Sie genügend Rechenressourcen bereitstellen, um Cluster-Add-ons auszuführen. Sie müssen außerdem verfügbare Ressourcenkontingente für die Knoten und ihre Ressourcen (z. B. Firewallrouten) haben.
- Klicken Sie oben auf der Seite auf add_box Knotenpool hinzufügen, um Ihren Windows Server-Knotenpool zu erstellen.
- Geben Sie im Bereich Knotenpooldetails Folgendes ein:
- Geben Sie einen Namen für den Knotenpool ein.
- Geben Sie die Anzahl der Knoten ein, die im Knotenpool erstellt werden sollen.
Klicken Sie im Navigationsbereich unter Knotenpools auf Knoten.
Wählen Sie in der Drop-down-Liste Image-Typ das folgende Knoten-Image aus:
- Windows Long-Term Servicing Channel mit containerd
Weitere Informationen finden Sie im Abschnitt Windows-Knoten-Image auswählen.
Wählen Sie die Maschinenkonfiguration aus, die standardmäßig für die Instanzen verwendet werden soll.
n1-standard-2ist die empfohlene Mindestgröße, da Windows Server-Knoten zusätzliche Ressourcen benötigen. Die Maschinentypenf1-microundg1-smallwerden nicht unterstützt. Jeder Maschinentyp wird unterschiedlich abgerechnet. Weitere Informationen finden Sie in der Preisübersicht für Maschinentypen.
Klicken Sie im Navigationsbereich unter Cluster auf Netzwerk.
- Achten Sie darauf, dass unter Erweiterte Netzwerkoptionen die Option VPC-natives Traffic-Routing aktivieren (verwendet Alias-IP) ausgewählt aus. Für Windows Server-Knoten ist eine Alias-IP erforderlich. Weitere Informationen zu den Vorteilen finden Sie unter Natives Containerrouting mit Alias-IP-Adressen verstehen.
Klicken Sie auf Erstellen.
Terraform
Informationen zum Erstellen eines GKE-Standardclusters und eines Windows Server-Knotenpools mit Terraform finden Sie im folgenden Beispiel:
In diesem Beispiel wird Windows Server LTSC mit containerd verwendet. Dies ist der Image-Typ für das Windows Server 2022- und Windows Server 2019-Betriebssystem-Image (von GKE eingestellt). Weitere Informationen zu Knoten-Images finden Sie unter Windows-Knoten-Image auswählen.
Weitere Informationen zur Verwendung von Terraform finden Sie unter Terraform-Unterstützung für GKE.
Nachdem Sie einen Windows Server-Knotenpool erstellt haben, wechselt der Cluster für einige Minuten in den Status RECONCILE, während die Steuerungsebene aktualisiert wird.
kubectl-Anmeldedaten abrufen
Verwenden Sie den Befehl get-credentials, um kubectl für die Arbeit mit dem von Ihnen erstellten Cluster zu aktivieren.
gcloud container clusters get-credentials CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION
Weitere Informationen zum Befehl get-credentials finden Sie in der SDK-Dokumentation unter get-credentials.
Auf die Clusterinitialisierung warten
Warten Sie vor der Verwendung des Clusters einige Sekunden, bis windows.config.common-webhooks.networking.gke.io erstellt wurde. Dieser Webhook fügt Planungstoleranzen zu Pods hinzu, die mit der Knotenauswahl kubernetes.io/os: windows erstellt wurden, um sicherzustellen, dass sie auf Windows Server-Knoten ausgeführt werden können. Außerdem wird der Pod geprüft, damit er nur Funktionen verwendet, die unter Windows unterstützt werden.
Führen Sie den folgenden Befehl aus, um sicherzustellen, dass der Webhook erstellt wird:
kubectl get mutatingwebhookconfigurations
Die Ausgabe sollte den ausgeführten Webhook zeigen:
NAME CREATED AT
windows.config.common-webhooks.networking.gke.io 2019-12-12T16:55:47Z
Da Sie nun einen Cluster mit zwei Knotenpools (einem Linux- und einem Windows-Knotenpool) haben, können Sie eine Windows-Anwendung bereitstellen.
GKE- und Windows-Versionen zuordnen
Microsoft veröffentlicht alle zwei bis drei Jahre neue LTSC-Versionen. Diese neuen Versionen sind normalerweise in neuen GKE-Nebenversionen verfügbar. Innerhalb einer GKE-Nebenversion bleiben die LTSC-Versionen in der Regel unverändert.
Um die Versionszuordnung zwischen GKE-Versionen und Windows Server-Versionen aufzurufen, verwenden Sie den Befehl gcloud beta container get-server-config:
gcloud beta container get-server-config
Die Versionszuordnung wird im Feld windowsVersionMaps der Antwort zurückgegeben. Wenn Sie die Antwort filtern möchten, um die Versionszuordnung für bestimmte GKE-Versionen in Ihrem Cluster zu sehen, gehen Sie in einer Linux-Shell oder in Cloud Shell folgendermaßen vor:
Legen Sie die folgenden Variablen fest:
CLUSTER_NAME=CLUSTER_NAME \ NODE_POOL_NAME=NODE_POOL_NAME \ CONTROL_PLANE_LOCATION=CONTROL_PLANE_LOCATIONDabei gilt:
CLUSTER_NAME: Der Name Ihres Clusters.NODE_POOL_NAMEist der Name des Windows Server-Knotenpools.CONTROL_PLANE_LOCATION: der Compute Engine-Standort der Steuerungsebene Ihres Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.
Rufen Sie die Knotenpoolversion ab und speichern Sie sie in der Variable
NODE_POOL_VERSION:NODE_POOL_VERSION=`gcloud container node-pools describe $NODE_POOL_NAME \ --cluster=$CLUSTER_NAME \ --location=$CONTROL_PLANE_LOCATION \ --format="value(version)"`Rufen Sie die Windows Server-Versionen für
NODE_POOL_VERSIONab:gcloud beta container get-server-config \ --location=$CONTROL_PLANE_LOCATION \ --format="yaml(windowsVersionMaps.\"$NODE_POOL_VERSION\")"Die Ausgabe sieht in etwa so aus:
windowsVersionMaps: 1.18.6-gke.6601: windowsVersions: - imageType: WINDOWS_SAC osVersion: 10.0.18363.1198 supportEndDate: day: 10 month: 5 year: 2022 - imageType: WINDOWS_LTSC osVersion: 10.0.17763.1577 supportEndDate: day: 9 month: 1 year: 2024Rufen Sie die Windows Server-Version für den Image-Typ
WINDOWS_LTSCab:gcloud beta container get-server-config \ --flatten=windowsVersionMaps.\"$NODE_POOL_VERSION\".windowsVersions \ --filter="windowsVersionMaps.\"$NODE_POOL_VERSION\".windowsVersions.imageType=WINDOWS_LTSC" \ --format="value(windowsVersionMaps.\"$NODE_POOL_VERSION\".windowsVersions.osVersion)"Die Ausgabe sieht etwa so aus:
10.0.17763.1577
Windows Server-Knotenpools upgraden
Die Anforderungen an die Versionskompatibilität von Windows Server-Containern bedeuten, dass Ihre Container-Images unter Umständen neu erstellt werden müssen, damit sie mit der Windows Server-Version für eine neue GKE-Version übereinstimmen, bevor Sie ein Upgrade Ihrer Knotenpools ausführen. Beachten Sie die folgenden Empfehlungen zum Aktualisieren dieses Knotentyp-Pools:
- Verhindern Sie bei Bedarf automatische Knotenupgrades mit Wartungsausschlüssen.
- Damit Ihre Container-Images mit Ihren Knoten kompatibel bleiben, sollten Sie sich die Versionszuordnung ansehen und Ihre Windows Server-Container-Images als Images für mehrere Architekturen erstellen, die gezielt verschiedene Windows Server-Versionen beliefern. Sie haben dann die Möglichkeit, Ihre Container-Bereitstellungen so zu aktualisieren, dass sie auf die Images für mehrere Architekturen abzielen, die sowohl in der aktuellen als auch in der nächsten GKE-Version funktionieren, bevor Sie manuell ein GKE-Knotenpool-Upgrade aufrufen.
- Wenn Sie automatische Knotenupgrades verhindern, führen Sie regelmäßig manuelle Knotenpool-Upgrades durch, da Knoten nicht mehr als zwei Nebenversionen hinter der Version der Steuerungsebene liegen dürfen.
- Wenn Sie proaktiv Informationen zu neuen GKE-Versionen und den von ihnen verwendeten Windows-Betriebssystemversionen erhalten möchten, abonnieren Sie Upgrade-Benachrichtigungen.
- Lassen Sie automatische Knotenupgrades nur von GKE durchführen, wenn Sie fortlaufend Windows Server-Container-Images für mehrere Architekturen erstellen, die auf die neuesten Windows Server-Versionen abzielen. Bei automatischen Knotenupgrades treten weniger Probleme mit dem Image-Typ des Windows Server LTSC-Knotens auf. Es besteht jedoch weiterhin das Risiko, dass Probleme mit der Versionskompatibilität auftreten.
Windows-Updates
Windows-Updates sind für Windows Server-Knoten deaktiviert. Automatische Updates können dazu führen, dass Knoten zu unvorhersehbaren Zeiten neu gestartet werden. Alle nach einem Knotenstart installierten Windows-Updates gehen verloren, wenn der Knoten von GKE neu erstellt wird. Die in neuen GKE-Releases verwendeten Windows Server-Knoten-Images werden regelmäßig aktualisiert, damit in GKE Windows-Updates verfügbar werden. Zwischen der Veröffentlichung von Windows-Updates durch Microsoft und ihrer Bereitstellung in GKE kann es eine Verzögerung geben. Wenn wichtige Sicherheitsupdates veröffentlicht werden, aktualisiert GKE die Windows Server-Knoten-Images so schnell wie möglich.
Kommunikation von Windows-Pods und -Diensten steuern
Sie können die Kommunikation von Windows-Pods und -Diensten mithilfe von Netzwerkrichtlinien steuern.
Sie können einen Windows Server-Container auf Clustern verwenden, für die die Netzwerkrichtlinie in GKE ab Version 1.22.2 aktiviert ist. Dieses Feature ist für Cluster verfügbar, die die Knoten-Image-Typen WINDOWS_LTSC oder WINDOWS_LTSC_CONTAINERD verwenden.
Wenn Ihre Steuerungsebenen oder Knoten frühere Versionen ausführen, können Sie Ihre Knotenpools zu einer Version migrieren, die Netzwerkrichtlinie unterstützt. Dazu aktualisieren Sie Ihre Knotenpools und Ihre Steuerungsebene auf GKE-Version 1.22.2 oder höher.
Diese Option ist nur verfügbar, wenn Sie Ihren Cluster mit dem Flag --enable-dataplane-v2 erstellt haben.
Nachdem Sie die Netzwerkrichtlinie aktiviert haben, sind alle zuvor konfigurierten Richtlinien, einschließlich der Richtlinien, die in Windows Server-Containern nicht funktioniert haben, bevor Sie das Feature aktiviert haben, gültig.
Einige Cluster können nicht mit Windows Server-Containern auf Clustern mit aktivierter Netzwerkrichtlinie verwendet werden. Weitere Informationen finden Sie im Abschnitt Einschränkungen.
Logs ansehen und abfragen
Logging wird in GKE-Clustern automatisch aktiviert. Sie können die Logs der Container und die Logs anderer Dienste auf den Windows Server-Knoten mithilfe von Kubernetes Engine Monitoring ansehen.
Das folgende Beispiel zeigt einen Filter zum Abrufen des Container-Logs:
resource.type="k8s_container"
resource.labels.cluster_name="your_cluster_name"
resource.labels.namespace_name="your_namespace_id"
resource.labels.container_name="your_container_name"
resource.labels.Pod_name="your_Pod_name"
Mit Remote Desktop Protocol (RDP) auf einen Windows Server-Knoten zugreifen
Mit RDP können Sie eine Verbindung zu einem Windows Server-Knoten in Ihrem Cluster herstellen. Eine Anleitung zum Herstellen einer Verbindung finden Sie in der Compute Engine-Dokumentation unter Mit Windows-Instanzen verbinden.
Images für mehrere Architekturen erstellen
Sie können die Images für mehrere Architekturen manuell erstellen oder einen Cloud Build-Builder verwenden. Eine Anleitung hierzu finden Sie unter Windows-Images für mehrere Architekturen erstellen.
gMSA verwenden
In den folgenden Schritten wird die Verwendung eines Group Managed Service Accounts (gSAS) mit Ihren Windows Server-Knotenpools beschrieben.
Konfigurieren Sie Windows Server-Knoten im Cluster für den automatischen Beitritt zur AD-Domain. Eine Anleitung dazu finden Sie unter Windows Server-Knoten für den automatischen Beitritt zu einer Active Directory-Domain konfigurieren.
Erstellen Sie einen gMSA-Zugriff auf die Sicherheitsgruppe, die vom Domain-Join-Dienst automatisch erstellt wird. Dieser Schritt muss auf einem Computer mit Administratorzugriff auf Ihre AD-Domain ausgeführt werden.
$instanceGroupUri = gcloud container node-pools describe NODE_POOL_NAME --cluster CLUSTER_NAME --format="value(instanceGroupUrls)" $securityGroupName = ([System.Uri]$instanceGroupUri).Segments[-1] $securityGroup = dsquery group -name $securityGroupName $gmsaName = GMSA_NAME $dnsHostName = DNS_HOST_NAME New-ADServiceAccount -Name $gmsaName -DNSHostName $dnsHostName -PrincipalsAllowedToRetrieveManagedPassword $securityGroup Get-ADServiceAccount $gmsaName Test-ADServiceAccount $gmsaNameDabei gilt:
NODE_POOL_NAMEist der Name des Windows Server-Knotenpools. Die automatisch erstellte Sicherheitsgruppe hat den gleichen Namen wie der Windows Server-Knotenpool.CLUSTER_NAME: Der Name Ihres Clusters.GMSA_NAMEist der Name, den Sie für den neuen gMSA auswählen.DNS_HOST_NAMEist der vollständig qualifizierte Domainname (Fully Qualified Domain Name, FQDN) des von Ihnen erstellten Dienstkontos. Beispiel: WennGMSA_NAMEwebapp01und die Domainexample.comist, dann istDNS_HOST_NAMEder Wertwebapp01.example.com.
Konfigurieren Sie Ihre gMSA, indem Sie den Anweisungen im Tutorial GMSA für Windows-Pods und -Container konfigurieren folgen.
Windows Server-Knotenpools löschen
Löschen Sie einen Windows Server-Knotenpool mit gcloud oder der Google Cloud -Konsole.
gcloud
gcloud container node-pools delete NODE_POOL_NAME \
--cluster=CLUSTER_NAME
--location=CONTROL_PLANE_LOCATION
Console
Führen Sie die folgenden Schritte aus, um einen Windows Server-Knotenpool mithilfe der Google Cloud Console zu löschen:
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie neben dem Cluster, den Sie bearbeiten möchten, auf Aktionen more_vert und dann auf Bearbeiten edit.
Wählen Sie den Tab Knoten aus.
Klicken Sie im Abschnitt Knotenpools neben dem zu löschenden Knotenpool auf delete Löschen.
Wenn Sie zur Bestätigung des Vorgangs aufgefordert werden, klicken Sie noch einmal auf Löschen.
Beschränkungen
Die folgenden Funktionen werden von Windows Server-Knotenpools nicht unterstützt:
Compute- und Knotenfunktionen:
- Autopilot-Modus
- Automatische Knotenbereitstellung
- Maschinenserien über der dritten Generation
- Z3-Maschinenserie
- Image-Streaming
- Alphacluster
- Beschleuniger, einschließlich GPUs und TPUs
Netzwerkfunktionen:
- Maximale Anzahl von Pods pro Knoten auf einen Wert über dem Standardlimit von 110 konfigurieren
- Knoteninterne Sichtbarkeit
- NodeLocal DNSCache
- Logging von Netzwerkrichtlinien
- IP-Masquerade-Agent Windows-Knoten führen IP-Maskierung für externe Ziele aus, der Agent wird jedoch nicht unterstützt.
- IPv4/IPv6-Dual-Stack-Netzwerk IPv6-Netzwerke werden auf Windows-Knoten nicht unterstützt.
- Private Verwendung von IP-Adressen der Klasse E
- Private Verwendung öffentlicher IP-Adressen
- Volle Unterstützung für GKE Dataplane V2. Windows-Knoten mit GKE Dataplane V2 sind zusätzlich zu den im referenzierten Dokument beschriebenen Einschränkungen auf die Durchsetzung von Netzwerkrichtlinien beschränkt.
Sicherheitsfunktionen:
- Confidential GKE Nodes
- Linux-spezifische Sicherheitsfunktionen (z. B. Seccomp, Apparmor und SELinux)
Kubernetes-Features
- Host-Namespaces (z. B. hostNetwork, hostPID und hostIPC). Diese werden vom Windows-Betriebssystem nicht unterstützt.
- Kubernetes
service.spec.sessionAffinity - Funktionen, die im Abschnitt Kompatibilität und Einschränkungen des Dokuments „Windows-Container in Kubernetes“ aufgeführt sind
Speicherfunktionen:
- Das Standard-FSType (ext4), das mit dem abgestimmten nichtflüchtigen Speichertyp verwendet wird. Weitere Informationen finden Sie unter StorageClasses.
- Filestore-CSI-Treiber
- Lokale SSD mit NVMe-Schnittstellen für sitzungsspezifischen Speicher
Beobachtbarkeitsfunktionen:
- Kubernetes-Pod-Labels fehlen in Arbeitslastlogs für Windows-Knoten, wenn der schreibgeschützte kubelet-Port deaktiviert ist, da der Logging-Agent keine Pod-Labels abrufen kann.
Microsoft-Funktionen:
Sonstiges:
- Docker-basierter CloudSQL Auth-Proxy
- Sie können keinen Cluster nur mit Windows Server-Knotenpools erstellen. Mindestens ein Linux-Knotenpool ist erforderlich.
Informationen zu spezifischen Einschränkungen bei anderen Google Cloud -Produkten, die Sie möglicherweise mit GKE-Clustern verwenden möchten, finden Sie in der jeweiligen Dokumentation für das Produkt.
Fehlerbehebung
Informationen zur Fehlerbehebung speziell für Windows Server-Knotenpools finden Sie unter Fehlerbehebung bei Windows Server-Knotenpools.
Eine allgemeine Anleitung finden Sie in der Kubernetes-Dokumentation zum Debuggen von Pods und Diensten.
Nächste Schritte
- Windows-Anwendung bereitstellen
- Lesen Sie die kurze Einführung von Microsoft zu Windows-Containern.
- Lesen Sie die Microsoft-Anleitung zur Auswahl der Container-Basis-Images.
- Lesen Sie den Microsoft-Artikel zur Versionskompatibilität von Windows-Containern.