Bewährte Methoden für Windows-Container in Azure Kubernetes Service (AKS)
In AKS können Sie Knotenpools erstellen, die Linux oder Windows Server als Betriebssystem auf den Knoten ausführen. Auf Windows Server-Knoten können native Windows-Containeranwendungen ausgeführt werden, z. B. .NET Framework. Für das Linux-Betriebssystem und das Windows-Betriebssystem gelten unterschiedliche Überlegungen hinsichtlich der Unterstützung und Konfiguration von Containern. Weitere Informationen finden Sie unter Überlegungen zu Windows-Containern in Kubernetes. Weitere Informationen dazu, wie verschiedene Branchen Windows-Container auf AKS verwenden, finden Sie unter Windows AKS-Kundengeschichten.
In diesem Artikel werden bewährte Methoden für die Ausführung von Windows-Containern in AKS beschrieben.
Wenn Sie einen neuen AKS-Cluster erstellen, erstellt die Azure-Plattform standardmäßig einen Linux-Knotenpool. Dieser Knotenpool enthält Systemdienste, die für die ordnungsgemäße Funktionsweise des Clusters erforderlich sind. Azure erstellt und verwaltet außerdem eine von Benutzer*innen abstrahierte Steuerungsebene. Das bedeutet, Sie sind vom zugrunde liegenden Betriebssystem der Knoten isoliert, die die Hauptkomponenten der Steuerungsebene hosten. Es wird empfohlen, mindestens zwei Knoten im standardmäßigen Linux-Knotenpool auszuführen, um die Zuverlässigkeit und Leistung Ihres Clusters sicherzustellen. Sie können den standardmäßigen Linux-Knotenpool nur löschen, wenn Sie den gesamten Cluster löschen.
Wenn Sie planen, Windows-basierte Workloads in Ihrem AKS-Cluster auszuführen, sollten Sie in einigen Fällen die Bereitstellung eines Linux-Knotenpools in Betracht ziehen:
- Wenn Sie Linux- und Windows-Workloads ausführen möchten, können Sie einen Linux-Knotenpool und einen Windows-Knotenpool im selben Cluster bereitstellen.
- Wenn Sie infrastrukturbezogene Komponenten bereitstellen möchten, die auf Linux basieren (etwa NGINX), benötigen Sie einen Linux-Knotenpool neben Ihrem Windows-Knotenpool. Für Entwicklungs- und Testszenarien können Sie Knoten auf Steuerungsebene verwenden. Für Produktionsworkloads empfehlen wir die Bereitstellung separater Linux-Knotenpools, um Zuverlässigkeit und Leistung sicherzustellen.
Es empfiehlt sich ggf., vorhandene Anwendungen zu containerisieren und mit Windows in AKS auszuführen. Bevor Sie den Containerisierungsprozess starten, ist es wichtig, die Anwendungsarchitektur und Abhängigkeiten zu verstehen. Weitere Informationen finden Sie unter Containerisieren vorhandener Anwendungen mithilfe von Windows-Containern.
Best Practices-Leitfaden
Windows Server 2022 bietet die verbesserte Sicherheit und Leistung und ist das empfohlene Betriebssystem für Windows-Knotenpools in AKS. AKS verwendet Windows Server 2022 als Host-Betriebssystemversion und unterstützt nur die Prozessisolation.
AKS unterstützt zwei Optionen für das Windows Server-Betriebssystem: Long Term Servicing Channel Releases (LTSC) und Windows Server Annual Channel for Containers.
AKS unterstützt Long Term Servicing Channel (LTSC) Veröffentlichungen, einschließlich Windows Server 2022 und Windows Server 2019. Dieser Channel wird alle drei Jahre veröffentlicht und wird fünf Jahre lang unterstützt. Kunden, die Long Term Support (LTS) verwenden, sollten Windows Server 2022 verwenden.
AKS verwendet Windows Server 2019 und 2022 als Host-Betriebssystemversion und unterstützt nur die Prozessisolation. Mit anderen Windows Server-Versionen erstellte Containerimages werden von AKS nicht unterstützt. Weitere Informationen finden Sie unter Kompatibilität der Windows-Containerversion.
Für Kubernetes-Version 1.25 und höher ist Windows Server 2022 das Standardbetriebssystem. Windows Server 2019 wird eingestellt, nachdem Kubernetes, Version 1.32, das Ende der Lebensdauer erreicht hat. Windows Server 2022 wird eingestellt, nachdem Kubernetes, Version 1.34, das Ende ihrer Lebensdauer erreicht hat. Weitere Informationen finden Sie in den AKS-Versionshinweisen. Weitere Informationen, um über die neuesten Windows Server-Betriebssystemversionen auf dem neuesten Stand zu bleiben, und zu unserer Roadmap, was für den Support in AKS geplant ist, finden Sie in unserer öffentlichen AKS-Roadmap.
AKS unterstützt Windows Server Annual Channel for Containers (Vorschau). Dieser Channel wird jährlich veröffentlicht und wird 2 Jahre lang unterstützt. Dieser Channel ist von Vorteil für Kunden, die erhöhte Innovationszyklen und Portabilität erfordern. Mit der Portabilitätsfunktion kann das Windows Server 2022-basierte Containerimagebetriebssystem auf neueren Versionen des Windows Server-Hostbetriebssystems ausgeführt werden, z. B. die neue Annual Channel Veröffentlichung.
Windows Annual Channel-Versionen basieren auf der Kubernetes-Version Ihres Knotenpools. Um ein Upgrade von einer Annual Channel-Version auf die nächste durchzuführen, führen Sie ein Upgrade auf eine Kubernetes-Version durch, die die nächste Annual Channel Version unterstützt. Weitere Informationen finden Sie im Windows Server Annual Channel for Containers auf AKS.
Best Practices-Leitfaden
AKS-Cluster mit Windows-Knotenpools unterstützen nur Azure Container Networking Interface (Azure CNI) und verwenden dieses Plug-In standardmäßig.
Windows unterstützt keine kubenet-Netzwerke. AKS-Cluster mit Windows-Knotenpools müssen Azure CNI verwenden. Weitere Informationen finden Sie unter Netzwerkkonzepte für Anwendungen in AKS.
Azure CNI bietet zwei Netzwerkmodi basierend auf Ihren Workloadanforderungen:
- Azure CNI Overlay ist ein Überlagerungsnetzwerk, das kubenet ähnelt. Mit dem Überlagerungsnetzwerk können Sie VNet-IP-Adresse für Knoten und private Adressräume für Pods innerhalb dieser Knoten verwenden, die Sie im gesamten Cluster wiederverwenden können. Azure CNI Overlay ist der empfohlene Netzwerkmodus. Er bietet vereinfachte Netzwerkkonfiguration und -verwaltung sowie die beste Skalierbarkeit in AKS-Netzwerken.
- Azure CNI mit dynamischer IP-Zuordnung erfordert zusätzliche Planung und Überlegungen in Bezug auf die Verwaltung von IP-Adressen. Dieser Modus stellt VNet-IP-Adressen für Knoten und Pods bereit. Mit dieser Konfiguration können Sie direkt auf Pod-IP-Adressen zugreifen. Sie geht jedoch mit erhöhter Komplexität und geringerer Skalierbarkeit einher.
Informationen zum Festlegen des zu verwendenden Netzwerkmodus finden Sie unter Auswählen eines Netzwerkmodells.
Best Practices-Leitfaden
Verwenden Sie Netzwerkrichtlinien, um den Datenverkehr zwischen Pods zu schützen. Windows unterstützt den Azure-Netzwerkrichtlinien-Manager und die Calico-Netzwerkrichtlinie. Weitere Informationen finden Sie unter Unterschiede zwischen Netzwerkrichtlinienmodulen: Cilium, Azure NPM und Calico.
Beim Verwalten von Datenverkehr zwischen Pods sollten Sie das Prinzip der geringsten Rechte anwenden. Mit dem Netzwerkrichtlinienfeature in Kubernetes können Sie Regeln für den eingehenden und ausgehenden Datenverkehr zwischen den Pods in Ihrem Cluster definieren und erzwingen. Weitere Informationen finden Sie unter Sicherer Datenverkehr zwischen Pods durch Netzwerkrichtlinien in Azure Kubernetes Service (AKS).
Windows-Pods auf AKS-Clustern, die die Calico-Netzwerkrichtlinie verwenden, aktivieren standardmäßig Floating IP.
Es ist wichtig, Ihre Windows-Umgebung auf dem neuesten Stand zu halten, um sicherzustellen, dass Ihre Systeme über die neuesten Sicherheitsupdates, Featuresätze und Complianceanforderungen verfügen. In einer Kubernetes-Umgebung wie AKS müssen Sie die Kubernetes-Version, Windows-Knoten und Windows-Containerimages und -Pods verwalten.
Als Managed Kubernetes-Dienst stellt AKS die erforderlichen Tools bereit, um Ihren Cluster auf die neueste Kubernetes-Version zu aktualisieren. Weitere Informationen finden Sie unter Aktualisieren eines AKS-Clusters.
Für Windows-Knoten in AKS gilt ein monatlicher Updatezeitplan. Jeden Monat erstellt AKS eine neue VHD mit den neuesten verfügbaren Updates für Windows-Knotenpools. Die VHD enthält das Hostimage, das neueste Nano Server-Image, das neueste Server Core-Image und einen Container. Wir empfehlen, monatliche Updates für Ihre Windows-Knotenpools durchzuführen, um sicherzustellen, dass Ihre Knoten über die neuesten Sicherheitspatches verfügen. Weitere Informationen finden Sie unter Durchführen von Upgrades für AKS-Knotenimages.
Hinweis
Upgrades für Windows-Systeme umfassen sowohl Upgrades für Betriebssystemversionen als auch monatliche Updates des Knotenbetriebssystems.
Im AKS-Release-Tracker und in den AKS-Versionshinweisen finden Sie aktuelle Informationen zur Verfügbarkeit neuer monatlicher Releases.
Für Windows gibt es ein Veröffentlichungsintervall für neue Versionen des Betriebssystems, einschließlich Windows Server 2019 und Windows Server 2022. Stellen Sie beim Upgrade der Version des Windows-Knotenbetriebssystems sicher, dass die Windows-Containerimageversion mit der Windows-Containerhostversion übereinstimmt und dass die Knotenpools nur eine Version von Windows Server enthalten.
Um die Version des Windows-Knotenbetriebssystems zu aktualisieren, müssen Sie die folgenden Schritte ausführen:
- Erstellen Sie einen neuen Knotenpool mit der neuen Windows Server-Version.
- Stellen Sie Ihre Workloads mit den neuen Windows-Containerimages im neuen Knotenpool bereit.
- Setzen Sie den alten Knotenpool außer Betrieb.
Weitere Informationen finden Sie unter Aktualisieren von Windows Server-Workloads in AKS.
Hinweis
Windows hat einen neuen jährlichen Windows Server-Kanal für Container angekündigt, der Portabilität und gemischte Versionen von Windows-Knoten und -Containern unterstützt. Dieses Feature wird in AKS noch nicht unterstützt.
Informationen zum Nachverfolgen von AKS-Featureplänen finden Sie in der öffentlichen AKS-Roadmap.
Weitere Informationen zu Windows-Containern in AKS finden Sie in den folgenden Ressourcen:
- Erfahren Sie, wie Sie Windows-Container in AKS bereitstellen, verwalten und überwachen.
- Öffnen Sie ein Issue, oder geben Sie Feedback im GitHub-Repository für Windows-Container ein.
- Lesen Sie die Informationen zu Partnerlösungen von Drittanbietern für Windows in AKS.
Feedback zu Azure Kubernetes Service
Azure Kubernetes Service ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: