Freigeben über


Azure Well-Architected Framework-Perspektive auf Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) ist ein verwalteter Kubernetes-Dienst, mit dem Sie containerisierte Anwendungen bereitstellen und verwalten können. Ähnlich wie bei anderen verwalteten Diensten lagert AKS einen Großteil des betrieblichen Aufwands an Azure aus und bietet gleichzeitig hohe Verfügbarkeit, Skalierbarkeit und Portabilität für die Workload.

Dieser Artikel geht davon aus, dass Sie als Fachkraft für Architektur den Compute-Entscheidungsbaum durchgesehen und AKS als Compute für Ihren Workload gewählt haben. Die Anleitung in diesem Artikel enthält Architekturempfehlungen, die den Prinzipien der Azure Well-Architected Framework-Säulenzugeordnet sind.

Wichtig

Verwenden dieses Handbuchs

Jeder Abschnitt verfügt über eine Designprüfliste, die architektonische Themenbereiche zusammen mit designstrategien darstellt, die auf den Technologieumfang lokalisiert sind.

Außerdem sind Empfehlungen für die Technologiefunktionen enthalten, die dazu beitragen können, diese Strategien zu materialisieren. Die Empfehlungen stellen keine vollständige Liste aller Konfigurationen dar, die für AKS und deren Abhängigkeiten verfügbar sind. Stattdessen werden die wichtigsten Empfehlungen aufgelistet, die den Entwurfsperspektiven zugeordnet sind. Verwenden Sie die Empfehlungen, um Ihre Machbarkeitsstudie zu erstellen oder Ihre vorhandenen Umgebungen zu optimieren.

Grundlegende Architektur, die die wichtigsten Empfehlungen veranschaulicht: AKS-Basisarchitektur.

Technologieumfang

Diese Überprüfung konzentriert sich auf die miteinander verbundenen Entscheidungen für die folgenden Azure-Ressourcen:

  • AKS

Wenn Sie die bewährten Methoden der Well-Architected-Framework-Säulen für AKS besprechen, ist es wichtig, zwischen -Cluster und -Workloadzu unterscheiden. Bewährte Methoden für Cluster sind eine gemeinsame Verantwortung zwischen dem Clusteradministrator und ihrem Ressourcenanbieter, während workload best practices die Domäne eines Entwicklers sind. Dieser Artikel enthält Überlegungen und Empfehlungen für jede dieser Rollen.

Anmerkung

Die folgenden Säulen umfassen eine Entwurfsprüfliste und eine Liste der Empfehlungen, die angeben, ob jede Auswahl für Cluster Architektur, Workload Architektur oder beides gilt.

Zuverlässigkeit

Der Zweck der Säule „Zuverlässigkeit“ besteht darin, durch genügend Resilienz und schnelles Wiederherstellen nach Fehlern eine kontinuierliche Funktionalität zu gewährleisten.

Entwurfsprinzipien für Zuverlässigkeit bieten eine allgemeine Designstrategie, die für einzelne Komponenten, Systemflüsse und das gesamte System angewendet wird.

Prüfliste für den Entwurf

Beginnen Sie Ihre Entwurfsstrategie auf der Grundlage der Checkliste für die Entwurfsprüfung von Reliability. Bestimmen Sie ihre Relevanz für Ihre Geschäftlichen Anforderungen, und berücksichtigen Sie dabei die Features von AKS und deren Abhängigkeiten. Erweitern Sie die Strategie, um bei Bedarf weitere Ansätze einzuschließen.

  • (Cluster) Erstellen von Redundanz zur Verbesserung der Resilienz. Verwenden sie Verfügbarkeitszonen für Ihre AKS-Cluster als Teil Ihrer Resilienzstrategie, um die Verfügbarkeit bei der Bereitstellung in einer einzelnen Region zu erhöhen. Viele Azure-Regionen bieten Verfügbarkeitszonen. Die Zonen sind nahe genug, um zwischen ihnen Verbindungen mit geringer Latenz zu haben, aber weit genug auseinander, um die Wahrscheinlichkeit zu verringern, dass lokale Ausfälle mehr als eine Zone betreffen.

    Stellen Sie für kritische Workloads mehrere Cluster in verschiedenen Azure-Regionen bereit. Durch die geografische Verteilung von AKS-Clustern können Sie eine höhere Resilienz erzielen und die Auswirkungen regionaler Fehler minimieren. Eine Multiregionsstrategie trägt dazu bei, die Verfügbarkeit zu maximieren und Geschäftskontinuität bereitzustellen. Internetorientierte Workloads sollten Azure Front Door oder Azure Traffic Manager verwenden, um den Datenverkehr global über AKS-Cluster zu leiten. Weitere Informationen finden Sie unter Multiregion-Strategie.

    Planen Sie den IP-Adressraum, um sicherzustellen, dass Ihr Cluster Failoverdatenverkehr in mehreren Clustertopologien zuverlässig skalieren und verarbeiten kann.

  • (Cluster und Workload) Überwachen Sie die Zuverlässigkeit und den Gesamtzustand des Clusters sowie der Workloads. Sammeln Sie Logdateien und Metriken, um die Gesundheit der Workloads zu überwachen, Leistungs- und Zuverlässigkeitstrends zu identifizieren und Probleme zu beheben. Lesen Sie Bewährte Methoden für die Überwachung von Kubernetes mit Azure Monitor und den Well-Architected Leitfaden zur Integritätsmodellierung für Workloads, um Ihre Lösung zur Zuverlässigkeits- und Gesundheitsüberwachung für Ihre AKS-Lösung zu entwerfen.

    Stellen Sie sicher, dass Workloads so erstellt werden, dass sie die horizontale Skalierung unterstützen und Informationen zur Anwendungsbereitschaft sowie Integrität bereitstellen.

  • (Cluster und Workload) Hostanwendungspods in Benutzerknotenpools. Indem Sie Systempods von Anwendungsworkloads isolieren, sorgen Sie dafür, dass die wichtigsten AKS-Dienste nicht von Ressourcenanforderungen oder potenziellen Problemen beeinträchtigt werden, die durch eine Workload verursacht werden, die in Benutzerknotenpools ausgeführt wird.

    Stellen Sie sicher, dass Ihre Workload in Benutzerknotenpools ausgeführt wird, und wählen Sie die richtige SKU aus. Schließen Sie mindestens zwei Knoten für Benutzerknotenpools und drei Knoten für den Systemknotenpool ein.

  • (Cluster und Arbeitslast) Berücksichtigen Sie die AKS-Verfügbarkeitsvereinbarung (SLA) bei Ihren Verfügbarkeits- und Wiederherstellungszielen. Um die Zuverlässigkeits- und Wiederherstellungsziele für Ihren Cluster und Ihre Arbeitslast zu definieren, folgen Sie den Anleitungen unter Empfehlungen zum Definieren von Zuverlässigkeitszielen. Formulieren Sie dann ein Design, das diesen Zielen entspricht.

  • (Cluster und Workload) Schützen Sie den AKS-Clusterdienst mithilfe von Azure Backup, indem Sie Wiederherstellungspunkte in einem Sicherungstresor speichern und während eines Notfallszenarios wiederherstellen. Um die containerisierten Anwendungen und Daten, die in AKS-Clustern ausgeführt werden, zu sichern und wiederherzustellen, befolgen Sie die Anleitungen in der AKS-Sicherungsübersicht zum Konfigurieren des Schutzes.

Empfehlungen

Empfehlung Vorteil
(Cluster und Workload) Steuern Sie die Planung von Pods mithilfe von Knotenselektoren und Affinität.

In AKS kann der Kubernetes-Scheduler Workloads logisch nach Hardware innerhalb des Knotens isolieren. Im Gegensatz zu Toleranzen können Pods, die nicht über einen übereinstimmenden Knotenselektor verfügen, auf bezeichneten Knoten geplant werden. Pods, die den übereinstimmenden Knotenselektor definieren, werden jedoch mit Priorität behandelt.
Die Knotenaffinität führt zu mehr Flexibilität, sodass Sie definieren können, was passiert, wenn der Pod nicht mit einem Knoten abgeglichen werden kann.
(Cluster) Wählen Sie das entsprechende Netzwerk-Plug-In basierend auf Netzwerkanforderungen und Clustergröße aus.

Verschiedene Netzwerk-Plug-Ins bieten unterschiedliche Funktionalitätsebenen. Azure Container Networking Interface (Azure CNI) ist für bestimmte Szenarien wie Windows-basierte Knotenpools, einige Netzwerkanforderungen und Kubernetes-Netzwerkrichtlinien erforderlich.

Weitere Informationen finden Sie unter Kubenet gegenüber Azure CNI.
Das richtige Netzwerk-Plug-In kann dazu beitragen, eine bessere Kompatibilität und Leistung sicherzustellen.
(Cluster und Workload) Verwenden Sie das AKS-Uptime-SLA für produktionsfähige Cluster. Die Workload kann höhere Verfügbarkeitsziele aufgrund der höheren Verfügbarkeitsgarantien des Kubernetes-API-Serverendpunkts für AKS-Cluster unterstützen.
(Cluster) Verwenden Sie Verfügbarkeitszonen, um die Resilienz innerhalb einer Azure-Region zu maximieren, indem Sie AKS-Agentknoten über physisch getrennte Rechenzentren verteilen.

Wenn eine parallele Anordnung erforderlich ist, verwenden Sie entweder eine reguläre VMSS-basierte (Virtual Machine Scale Sets) AKS-Bereitstellung in einer einzelnen Zone, oder verwenden Sie Näherungsplatzierungsgruppen, um die Latenz auf Zwischenknoten zu minimieren.
Durch die Verteilung von Knotenpools über mehrere Zonen bleiben Knoten in einem Knotenpool auch dann in Betrieb, wenn eine andere Zone ausfällt.
(Cluster und Workload) Definieren Sie Pod-Ressourcenanforderungen und -beschränkungen in Bereitstellungsmanifesten von Anwendungen. Erzwingen Sie diese Grenzwerte mithilfe von Azure Policy. Container-CPU- und Speicherressourcengrenzwerte sind erforderlich, um die Ressourcenauslastung in Ihrem Kubernetes-Cluster zu verhindern.
(Cluster und Workload) Lassen Sie den Systemknotenpool von Anwendungsworkloads isoliert.

Systemknotenpools erfordern eine VM-SKU mit mindestens 2 vCPUs und 4 GB Arbeitsspeicher. Es wird empfohlen, 4 vCPU oder mehr zu verwenden. Weitere Informationen finden Sie unter System- und Benutzerknotenpools.
Der Systemknotenpool hostet kritische System-Pods, die für die Steuerungsebene Ihres Clusters unerlässlich sind. Indem Sie diese System pods von Anwendungsworkloads isolieren, stellen Sie sicher, dass die wesentlichen Dienste von den Ressourcenanforderungen oder potenziellen Problemen, die durch eine Workload verursacht werden, nicht betroffen sind.
(Cluster und Workload) Teilen Sie Anwendungen basierend auf bestimmten Anforderungen auf dedizierte Knotenpools auf. Vermeiden Sie eine große Anzahl von Knotenpools, um den Verwaltungsaufwand zu reduzieren. Anwendungen können dieselbe Konfiguration gemeinsam nutzen und GPU-fähige VMs, CPU- oder speicheroptimierte VMs oder die Möglichkeit zum Skalieren auf Null benötigen. Indem Sie Knotenpools bestimmten Anwendungen zuweisen, tragen Sie dazu bei sicherzustellen, dass jede Anwendung die erforderlichen Ressourcen erhält, ohne Ressourcen zu überversorgen oder unterauszulasten.
(Cluster) Verwenden Sie ein NAT-Gateway für Cluster, die Workloads ausführen, die viele gleichzeitige ausgehende Verbindungen herstellen. Azure NAT Gateway unterstützt zuverlässigen Ausgehenden Datenverkehr im großen Maßstab und hilft Ihnen, Zuverlässigkeitsprobleme zu vermeiden, indem Sie Azure Load Balancer-Einschränkungen auf hohen gleichzeitigen ausgehenden Datenverkehr anwenden.
(Cluster und Workload) Verwenden Sie Azure Backup, um AKS-Cluster zu schützen und während einer Katastrophe in alternative Regionen wiederherzustellen. Azure Backup unterstützt die Sicherungs- und Wiederherstellungsvorgänge von containerisierten Anwendungen und Daten, die sowohl für Clusterstatus- als auch anwendungsdaten ausgeführt werden.

Sie können die Sicherungen in einem regionalen Notfallszenario verwenden und Sicherungenwiederherstellen.
Azure Backup mit Azure Kubernetes Service (AKS) bietet eine vollständig verwaltete, skalierbare, sichere und kostengünstige Lösung. Verbessert die Zuverlässigkeit der Arbeitsauslastung ohne die Komplexität der Einrichtung und Wartung der Sicherungsinfrastruktur.

Sicherheit

Der Zweck der Säule „Security“ besteht darin, Garantien für die Arbeitsauslastung für Vertraulichkeit, Integrität und Verfügbarkeit bereitzustellen.

Die Grundsätze des Sicherheitsdesigns bieten eine übergeordnete Designstrategie zur Erreichung dieser Ziele, indem sie Ansätze für das technische Design von AKS anwenden.

Prüfliste für den Entwurf

Starten Sie Ihre Designstrategie basierend auf der Prüfliste für die Designüberprüfung für Sicherheit und identifizieren Sie Sicherheitsrisiken und Kontrollen, um den Sicherheitsstatus zu verbessern. Machen Sie sich mit AKS-Sicherheitskonzepten vertraut und bewerten Sie die Empfehlungen zur Sicherheitshärtung basierend auf dem CIS Kubernetes Benchmark. Erweitern Sie die Strategie, um bei Bedarf weitere Ansätze einzuschließen.

  • (Cluster) Integration mit Microsoft Entra ID für Identitäts- und Zugriffsverwaltung. Die Identitätsverwaltung für Ihren Cluster mithilfe der Microsoft Entra-ID zentralisieren. Jede Änderung von Benutzerkonto oder Gruppenstatus wird automatisch im Zugriff auf den AKS-Cluster aktualisiert. Identität als primären Sicherheitsperimetereinrichten. Die Entwickler und Anwendungsbesitzer Ihres Kubernetes-Clusters benötigen Zugriff auf verschiedene Ressourcen.

    Verwenden Sie die rollenbasierte Zugriffssteuerung (RBAC) von Kubernetes mit Microsoft Entra ID für den Zugriff mit geringsten Rechten. Schützen Sie Die Konfiguration und geheime Schlüssel, indem Sie die Zuweisung von Administratorrechten minimieren.

  • (Cluster) Integration in Sicherheitsüberwachungs- und Sicherheitsinformations- und Ereignisverwaltungstools. Verwenden sie Microsoft Defender für Container mit Microsoft Sentinel, um Bedrohungen in Ihren Clustern und den darauf ausgeführten Workloads schnell zu erkennen und darauf zu reagieren. Aktivieren Sie AKS-Connector für Microsoft Sentinel, um Ihre AKS-Diagnoseprotokolle in Microsoft Sentinel zu streamen.

  • (Cluster und Workload) Implementierung von Segmentierungs- und Netzwerksteuerelementen. Um Datenexfiltration zu verhindern, stellen Sie sicher, dass nur autorisierter und sicherer Datenverkehr zulässig ist und den Explosionsradius einer Sicherheitsverletzung begrenzen.

    Erwägen Sie die Verwendung eines privaten AKS-Clusters, um sicherzustellen, dass der Clusterverwaltungsdatenverkehr zu Ihrem API-Server in Ihrem privaten Netzwerk verbleibt. Oder verwenden Sie die API-Server-Zulassungsliste für öffentliche Cluster.

  • (Workload) Verwenden sie eine Webanwendungsfirewall (WAF), um eingehenden Datenverkehr auf potenzielle Angriffe zu überprüfen. WAF kann Bedrohungen in Echtzeit erkennen und mindern, um schädlichen Datenverkehr zu blockieren, bevor sie Ihre Anwendungen erreicht. Es bietet einen robusten Schutz vor gängigen webbasierten Angriffen wie SQL-Einfügung, websiteübergreifendes Skripting und anderen Sicherheitsanfälligkeiten von Open Web Application Security Project. Einige Lastverteiler, wie z.B. das Azure Application Gateway oder Azure Front Door, verfügen über eine integrierte WAF.

  • (Workload) Behalten Sie eine Softwarelieferkette mit gehärtetem Workload bei. Stellen Sie sicher, dass die Continuous Integration- und Continuous Delivery-Pipeline durch containerfähige Überprüfungen gehärtet wird.

  • (Cluster und Workload) Zusätzlichen Schutz für spezielle sichere Workloads implementieren. Wenn Ihr Cluster eine sensible Workload ausführen muss, müssen Sie möglicherweise einen privaten Cluster bereitstellen. Hier sind einige Beispiele:

Empfehlungen

Empfehlung Vorteil
(Cluster) Verwenden Sie verwaltete Identitäten auf dem Cluster. Sie können den Aufwand vermeiden, der mit der Verwaltung und dem Austauschen von Dienstprinzipalen verbunden ist.
(Workload) Verwenden Sie Microsoft Entra Workload ID mit AKS-, um von Ihrer Workload aus auf geschützte Microsoft Entra-Ressourcen zuzugreifen, z. B. Azure Key Vault und Microsoft Graph. Verwenden Sie AKS Workload-IDs, um den Zugriff auf Azure-Ressourcen mithilfe von Microsoft Entra ID RBAC zu schützen, ohne anmeldeinformationen direkt in Ihrem Code verwalten zu müssen.
(Cluster) Verwenden Sie Microsoft Entra ID, um sich über AKS mit Azure Container Registry zu authentifizieren. Mithilfe der Microsoft Entra-ID kann AKS sich bei der Container Registry authentifizieren, ohne dass imagePullSecrets geheime Schlüssel verwendet werden.
(Cluster) Sichern Sie den Netzwerkdatenverkehr zu Ihrem API-Server, indem Sie einen privaten AKS-Cluster verwenden, wenn die Workloadanforderungen höhere Segmentierungsebenen erfordern. Standardmäßig wird der Netzwerkdatenverkehr zwischen Ihren Knotenpools und dem API-Server in das Microsoft-Backbone-Netzwerk übertragen. Mithilfe eines privaten Clusters können Sie sicherstellen, dass der Netzwerkdatenverkehr mit Ihrem API-Server nur im privaten Netzwerk verbleibt.
(Cluster) Verwenden Sie für öffentliche AKS-Cluster API-serverautorisierte IP-Adressbereiche. Schließen Sie Quellen wie die öffentlichen IP-Adressen Ihrer Bereitstellungs-Build-Agents, Ihr Operations Management und den Ausgangspunkt der Knotenpools ein, wie beispielsweise die Azure-Firewall. Wenn Sie öffentliche Cluster verwenden, können Sie die Angriffsfläche Ihres AKS-Clusters erheblich reduzieren, indem Sie den Datenverkehr einschränken, der den API-Server Ihrer Cluster erreichen kann.
(Cluster) Schützen Sie den API-Server mithilfe von Microsoft Entra ID RBAC.

Deaktivieren Sie lokale Konten, um den gesamten Clusterzugriff mithilfe von Microsoft Entra ID-basierten Identitäten zu erzwingen.
Das Sichern des Zugriffs auf den Kubernetes-API-Server ist eine der wichtigsten Dinge, die Sie tun können, um Ihren Cluster zu sichern. Integrieren Sie Kubernetes RBAC mit Microsoft Entra ID, um den Zugriff auf den API-Server zu steuern.
(Cluster) Verwenden Sie Azure-Netzwerkrichtlinien oder Calico. Mithilfe von Richtlinien können Sie den Netzwerkdatenverkehr zwischen Pods in einem Cluster sichern und steuern. Calico bietet eine umfassendere Reihe von Funktionen, einschließlich Richtlinienreihenfolge und Priorität, Ablehnungsregeln und flexibleren Übereinstimmungsregeln.
(Cluster) Sichern Sie Cluster und Pods mithilfe von Azure Policy. Azure Policy kann dazu beitragen, bedarfsgesteuerte Erzwingung und Schutzmaßnahmen zentral und einheitlich auf die Cluster anzuwenden. Außerdem können Sie damit steuern, welche Funktionen den Pods gewährt werden, und erkennen, ob Verstöße gegen die Unternehmensrichtlinie vorliegen.
(Cluster) Sicherer Containerzugriff auf Ressourcen. Begrenzen Sie den Zugriff auf Aktionen, die von Containern ausgeführt werden können. Geben Sie die niedrigste Anzahl an Berechtigungen an, und vermeiden Sie die Verwendung von Stamm- oder Rechteausweitung.

Informationen zu Linux-basierten Containern finden Sie unter Sicherheitscontainerzugriff auf Ressourcen mithilfe integrierter Linux-Sicherheitsfeatures.
Indem Sie Berechtigungen einschränken und die Verwendung von Stamm- oder privilegierter Eskalation vermeiden, tragen Sie dazu bei, das Risiko von Sicherheitsverletzungen zu verringern. Sie können sicherstellen, dass auch dann, wenn ein Container kompromittiert wird, der potenzielle Schaden minimiert wird.
(Cluster) Steuern sie den Clusterausgangsdatenverkehr, indem Sie sicherstellen, dass der ausgehende Datenverkehr Ihres Clusters über einen Netzwerksicherheitspunkt wie Azure Firewall oder einen HTTP-Proxydurchläuft. Indem Sie ausgehenden Datenverkehr über die Azure-Firewall oder einen HTTP-Proxy weiterleiten, können Sie Sicherheitsrichtlinien erzwingen, die nicht autorisierten Zugriff und Datenexfiltration verhindern. Dieser Ansatz vereinfacht auch die Verwaltung von Sicherheitsrichtlinien und erleichtert die Durchsetzung konsistenter Regeln in Ihrem gesamten AKS-Cluster.
(Cluster) Verwenden Sie die Open-Source Microsoft Entra Workload ID und den Secrets Store CSI-Treiber mit Key Vault. Diese Features helfen Ihnen, geheime Schlüssel, Zertifikate und Verbindungszeichenfolgen in Key Vault mithilfe einer starken Verschlüsselung zu schützen und zu drehen. Sie bieten ein Zugriffsüberwachungsprotokoll und halten Kerngeheimnisse aus der Bereitstellungspipeline heraus.
(Cluster) Verwenden Sie Microsoft Defender for Containers. Microsoft Defender für Container hilft Ihnen, die Sicherheit Ihrer Cluster, Container und deren Anwendungen zu überwachen und zu verwalten.

Kostenoptimierung

Bei der Kostenoptimierung geht es darum, Ausgabenmuster zu erkennen, Investitionen in kritischen Bereichen zu priorisieren und in anderen Bereichen zu optimieren, um das Budget der Organisation einzuhalten und gleichzeitig die geschäftlichen Anforderungen zu erfüllen.

Die Designprinzipien für die Kostenoptimierung bieten eine allgemeine Designstrategie, um diese Ziele zu erreichen und die notwendigen Kompromisse bei der technischen Gestaltung im Zusammenhang mit AKS und seiner Umgebung einzugehen.

Prüfliste für den Entwurf

Erstellen Sie Ihre Entwurfsstrategie basierend auf der Checkliste zur Entwurfsüberprüfung in Bezug auf „Kostenoptimierung“ für Investitionen. Verfeinern Sie den Entwurf so, dass die Arbeitslast mit dem Budget übereinstimmt, das für die Arbeitslast zugewiesen ist. Ihr Design sollte die richtigen Azure-Funktionen verwenden, Investitionen überwachen und Möglichkeiten zur Optimierung im Laufe der Zeit finden.

  • (Cluster) Fügen Sie die Preisstufen für AKS- in Ihr Kostenmodell ein. Verwenden Sie zum Schätzen der Kosten den Azure-Preisrechner und testen Sie verschiedene Konfigurations- und Zahlungspläne im Rechner.

  • (Cluster) Erhalten Sie die besten Tarife für Ihre Workload. Verwenden Sie die entsprechende VM-SKU für jeden Knotenpool, da sie sich direkt auf die Kosten für die Ausführung Ihrer Workloads auswirkt. Die Auswahl einer leistungsfähigen VM ohne ordnungsgemäße Auslastung kann zu verschwendeten Ausgaben führen. Die Auswahl einer weniger leistungsfähigen VM kann Leistungsprobleme und erhöhte Ausfallzeiten verursachen.

    Wenn Sie die Kapazität ordnungsgemäß geplant haben und Ihre Workload vorhersehbar ist und für einen längeren Zeitraum vorhanden ist, registrieren Sie sich für Azure Reservations oder einen Sparplan, um Ihre Ressourcenkosten zu reduzieren.

    Wählen Sie virtuellen Azure Spot-Computer aus, um nicht genutzte Azure-Kapazität mit erheblichen Rabatten zu verwenden. Diese Rabatte können bis zu 90 % der nutzungsbasierten Preise erreichen. Wenn Azure die Kapazität wieder benötigt, entfernt die Azure-Infrastruktur die Spot-Knoten.

    Wenn Sie AKS lokal oder am Edge ausführen, können Sie auch Azure Hybrid Benefit verwenden, um Kosten zu senken, wenn Sie containerisierte Anwendungen in diesen Szenarien ausführen.

  • (Cluster und Arbeitslast) Optimieren Sie die Kosten der Arbeitslastkomponenten. Wählen Sie die kostengünstigste Region für Ihre Arbeitslast aus. Bewerten Sie die Kosten-, Latenz- und Complianceanforderungen, um sicherzustellen, dass Ihre Workload kosteneffizient ausgeführt wird und dass sie sich nicht auf Ihre Kunden auswirkt oder zusätzliche Netzwerkgebühren erstellt. Die Region, in der Sie Ihre Workload in Azure bereitstellen, kann sich erheblich auf die Kosten auswirken. Aufgrund vieler Faktoren variieren die Ressourcenkosten für jede Region in Azure.

    Verwalten Sie kleine und optimierte Bilder, um Kosten zu senken, da neue Knoten diese Bilder herunterladen müssen. Benutzeranforderungsfehler oder Timeouts beim Starten der Anwendung können zu Überprovisionierung führen. Erstellen Sie Images auf eine Weise, mit der der Container so schnell wie möglich gestartet werden kann, um Fehler und Timeouts zu vermeiden.

    Überprüfen Sie die Empfehlungen zur Kostenoptimierung in Bewährte Methoden für die Überwachung von Kubernetes mit Azure Monitor, um die beste Überwachungsstrategie für Ihre Workloads zu ermitteln. Analysieren Sie Leistungsmetriken, beginnend mit CPU, Arbeitsspeicher, Speicher und Netzwerk, um Kostenoptimierungsmöglichkeiten nach Cluster, Knoten und Namespace zu identifizieren.

  • (Cluster und Workload) Die Workloadskalierungskosten optimieren. Erwägen Sie alternative Konfigurationen für vertikale und horizontale Skalierung, um die Skalierungskosten zu reduzieren, während alle Workloadanforderungen erfüllt werden. Verwenden Sie Autoskalierung, um abzuskalieren, wenn die Workloads weniger aktiv sind.

  • (Cluster und Workload) Kostendaten sammeln und analysieren. Die Grundlage der Kostenoptimierung ist die Ausbreitung eines kostensparenden Clusters. Entwickeln Sie eine Kosteneffizienz-Denkweise, die die Zusammenarbeit zwischen Finanz-, Betriebs- und Entwicklungsteams umfasst, um die Ausrichtung auf kostensparende Ziele voranzutreiben und Transparenz zu Cloudkosten zu bringen.

Empfehlungen

Empfehlung Vorteil
(Cluster und Workload) Richten Sie die AKS-SKU-Auswahl und die Größe verwalteter Datenträger an den Workloadanforderungen aus. Wenn Sie Ihre Auswahl an Ihre Workloadanforderungen anpassen, können Sie sicherstellen, dass Sie nicht für nicht benötigte Ressourcen bezahlen.
(Cluster) Wählen Sie die richtigen VM-Instanzentypen für Ihre AKS-Knotenpoolsaus.

Um die richtigen VM-Instanztypen zu ermitteln, berücksichtigen Sie Workloadmerkmale, Ressourcenanforderungen und Verfügbarkeitsanforderungen.
Die Auswahl des richtigen VM-Instanztyps ist entscheidend, da sie sich direkt auf die Kosten für die Ausführung von Anwendungen auf AKS auswirkt. Die Auswahl einer hochleistungsorientierten Instanz ohne ordnungsgemäße Auslastung kann zu verschwendeten Ausgaben führen. Die Auswahl einer weniger leistungsfähigen Instanz kann zu Leistungsproblemen und erhöhten Ausfallzeiten führen.
(Cluster) Wählen Sie virtuelle Computer basierend auf der energieeffizienteren Azure Resource Manager-Architektur aus. AKS unterstützt das Erstellen von Arm64-Knotenpools und eine Mischung aus Intel- und Resource Manager-Architekturknoten in einem Cluster. Die Arm64-Architektur bietet aufgrund der geringeren Leistungsauslastung und der effizienten Berechnungsleistung ein besseres Preis-leistungs-Verhältnis. Diese Funktionen können eine bessere Leistung zu niedrigeren Kosten erzielen.
(Cluster) Aktivieren Sie den Cluster-Autoscaler, um die Anzahl der Agentknoten als Reaktion auf überschüssige Ressourcen automatisch zu reduzieren. Durch das automatische Herunterskalieren der Anzahl der Knoten in Ihrem AKS-Cluster können Sie bei geringer Nachfrage einen effizienten Cluster betreiben und bei steigender Nachfrage hochskalieren.
(Cluster) Aktivieren Sie die automatische Bereitstellung von Knoten, um die VM-SKU-Auswahl zu automatisieren. Die automatische Bereitstellung von Knoten vereinfacht die SKU-Auswahl und bestimmt basierend auf den anstehenden Podressourcenanforderungen die optimale VM-Konfiguration, um Workloads auf die effizienteste und kostengünstigste Weise auszuführen.
(Workload) Verwenden Sie HorizontalPodAutoscaler, um die Anzahl der Pods in einer Bereitstellung abhängig von der CPU-Auslastung oder anderen Metriken anzupassen. Das automatisches Abskalieren der Anzahl von Pods, wenn die Nachfrage niedrig ist, und das Aufskalieren, wenn die Nachfrage steigt, führt zu einem kostengünstigeren Betrieb der Workload.
(Workload) Verwenden Sie VerticalPodAutoscaler (Vorschau), um Ihre Pods zu optimieren und Anforderungen sowie Grenzwerte basierend auf dem Nutzungsverlauf dynamisch festzulegen. Durch festlegen von Ressourcenanforderungen und Grenzwerten für Container für jede Workload gibt VerticalPodAutoscaler CPU und Arbeitsspeicher für andere Pods frei und trägt dazu bei, eine effektive Nutzung Ihrer AKS-Cluster sicherzustellen.
(Cluster) Konfigurieren Sie das Add-On für die AKS-Kostenanalyse. Mit der Kostenanalyseclustererweiterung erhalten Sie detaillierte Einblicke in Kosten, die verschiedenen Kubernetes-Ressourcen in Ihren Clustern oder Namespaces zugeordnet sind.

Operative Exzellenz

Operational Excellence konzentriert sich in erster Linie auf Verfahren für Entwicklungspraktiken, Beobachtbarkeit und Release Management.

Die Designprinzipien Operational Excellence bieten eine allgemeine Designstrategie, um diese Ziele für die betrieblichen Anforderungen der Arbeitslast zu erreichen.

Prüfliste für den Entwurf

Beginnen Sie Ihre Design-Strategie auf der Grundlage der Checkliste zur Design-Überprüfung für Operational Excellence, um Prozesse für Einblicke, Tests und Bereitstellung zu definieren. Lesen Sie AKS bewährte Methoden und den Day-2-Betriebsleitfaden, um über wichtige Überlegungen zu erfahren und diese umzusetzen.

  • (Cluster) Implementieren Sie einen IaC-Ansatz (Infrastruktur als Code) für die Bereitstellung. Verwenden Sie einen deklarativen, vorlagenbasierten Bereitstellungsansatz mithilfe von Bicep, Terraform oder ähnlichen Tools. Stellen Sie sicher, dass alle Bereitstellungen wiederholbar, nachverfolgbar und in einem Quellcode-Repository gespeichert sind. Weitere Informationen finden Sie in den Schnellstarts der AKS-Produktdokumentation.

  • (Cluster und Workload) Automatisieren von Infrastruktur- und Workloadbereitstellungen. Verwenden Sie Standard-Softwarelösungen, um die Bereitstellung Ihres Clusters und Ihrer Workloads zu verwalten, zu integrieren und zu automatisieren. Integrieren Sie Bereitstellungspipelinen in Ihr Quellcodeverwaltungssystem und integrieren Sie automatisierte Tests.

    Erstellen Sie einen automatisierten Prozess, um sicherzustellen, dass Ihre Cluster mit den erforderlichen clusterweiten Konfigurationen und Bereitstellungen gestartet werden. Dieser Vorgang wird in der Regel mithilfe von GitOps durchgeführt.

    Verwenden Sie einen wiederholbaren und automatisierten Bereitstellungsprozess für Ihre Arbeitsauslastung innerhalb Ihres Softwareentwicklungslebenszyklus.

  • (Cluster und Workload) Eine umfassende Überwachungsstrategie implementieren. Sammeln sie Protokolle und Metriken, um den Status der Workload zu überwachen, Trends in Leistung und Zuverlässigkeit zu identifizieren und Probleme zu beheben. Überprüfen Sie die bewährten Methoden für die Überwachung von Kubernetes mit Azure Monitor und die Well-Architected Empfehlungen zum Entwerfen und Erstellen eines Überwachungssystems, um die beste Überwachungsstrategie für Ihre Workloads zu ermitteln.

    Aktivieren Sie Diagnoseeinstellungen, um sicherzustellen, dass Steuerungsebenen- oder Kern-API-Serverinteraktionen protokolliert werden.

    Die Workload sollte so entworfen werden, dass Telemetriedaten ausgegeben werden, die erfasst werden können und auch Live- und Bereitschaftsstatus umfassen.

  • (Cluster und Workload) Implementieren Sie Strategien für Test-in-Produktion. Test-in-Produktion verwendet echte Bereitstellungen, um das Verhalten und die Leistung einer Anwendung in der Produktionsumgebung zu prüfen und zu messen. Verwenden Sie Chaos-Engineering-Methoden, die auf Kubernetes abzielen, um Anwendungs- oder Plattformzuverlässigkeitsprobleme zu identifizieren.

    Azure Chaos Studio kann Fehler simulieren und Notfallwiederherstellungsvorgänge auslösen.

  • (Cluster und Workload) Workload-Governance erzwingen. Azure-Richtlinie trägt dazu bei, die Einhaltung von Organisationsstandards zu gewährleisten, die Richtlinienerzwingung zu automatisieren und eine zentrale Sichtbarkeit und Kontrolle über Ihre Clusterressourcen zu gewährleisten.

    Lesen Sie den Abschnitt Azure-Richtlinien, um mehr über die verfügbaren integrierten Richtlinien für AKS zu erfahren.

  • (Cluster und Workload) Verwenden Sie Blau-Grün-Bereitstellungen auf Stempelebene für unternehmenskritische Workloads. Ein Blau-Grün-Bereitstellungsansatz auf Stempelebene kann das Vertrauen in die Veröffentlichung von Änderungen erhöhen und Upgrades ohne Ausfallzeiten ermöglichen, da Kompatibilitäten mit nachgelagerten Abhängigkeiten wie der Azure-Plattform, Ressourcenanbietern und IaC-Modulen geprüft werden können.

    Kubernetes und Eingangscontroller unterstützen viele erweiterte Bereitstellungsmuster für die Aufnahme in Ihren Release-Engineering-Prozess. Berücksichtigen Sie Muster wie blaugrüne Bereitstellungen oder Canaryversionen.

  • (Cluster und Workload) Workloads nachhaltiger gestalten. Workloads nachhaltiger und effizienter bei der Nutzung von Cloud-Ressourcen zu machen erfordert eine Kombination von Bemühungen um Kostenoptimierung, Reduktion der CO₂-Emissionenund Optimierung des Energieverbrauchs. Die Optimierung der Kosten der Anwendung ist der erste Schritt, um Workloads nachhaltiger zu gestalten.

    Weitere Informationen darüber, wie Sie nachhaltige und effiziente AKS-Workloads erstellen, finden Sie unter Nachhaltige Software-Engineering-Prinzipien in AKS.

Empfehlungen

Empfehlung Vorteil
(Cluster) Setzen Sie Cluster- und Podkonfigurationsstandards mithilfe von Azure-Richtlinien für AKS um. Azure-Richtlinien für AKS können Ihnen dabei helfen, umfassende Durchsetzung und Sicherheitsvorkehrungen für Ihre Cluster auf eine zentralisierte und konsistente Weise anzuwenden. Verwenden Sie Richtlinien, um die Berechtigungen zu definieren, die Pods erteilt werden, und stellen Sie die Einhaltung von Unternehmensrichtlinien sicher.
(Workload) Verwenden Sie Kubernetes Event Driven Autoscaler (KEDA). KEDA ermöglicht Es Ihren Anwendungen, basierend auf Ereignissen zu skalieren, z. B. die Anzahl der verarbeiteten Ereignisse. Sie können aus einem umfangreichen Katalog mit mehr als 50 KEDA-Scalern wählen.

Leistungseffizienz

Bei der Leistungseffizienz geht es um Aufrechterhaltung der Benutzererfahrung, auch wenn durch die Verwaltung der Kapazität eine Zunahme der Last erfolgt. Die Strategie umfasst die Skalierung von Ressourcen, das Identifizieren und Optimieren potenzieller Engpässe und die Optimierung der Spitzenleistung.

Die Designprinzipien für Leistungseffizienz bieten eine allgemeine Entwurfsstrategie zur Erreichung der Kapazitätsziele im Hinblick auf die erwartete Nutzung.

Prüfliste für den Entwurf

Beginnen Sie Ihre Designstrategie basierend auf der Designüberprüfungs-Checkliste für die Leistungseffizienz, um einen Basisplan basierend auf wichtigen Leistungsindikatoren für AKS zu definieren.

  • (Cluster und Workload) Führen Sie eine Kapazitätsplanung durch. Führen Sie eine detaillierte Kapazitätsplanübung durch, die SKU, Einstellungen für die Autoskalierung, IP-Adressierung und Überlegungen zum Failover umfasst, und wiederholen Sie diese.

    Nachdem Sie Ihren Kapazitätsplan formalisiert haben, aktualisieren Sie den Plan häufig, indem Sie die Ressourcenauslastung des Clusters kontinuierlich beobachten.

  • (Cluster) Definieren einer Skalierungsstrategie. Konfigurieren Sie die Skalierung, um sicherzustellen, dass Ressourcen effizient angepasst werden, um Arbeitsauslastungsanforderungen ohne Übernutzung oder Abfall zu erfüllen. Verwenden Sie AKS-Features wie die Cluster-Autoskalierung und den HorizontalPodAutoscaler, um Ihre Workload-Anforderungen dynamisch zu erfüllen, mit weniger Aufwand für die Abläufe. Optimieren Sie Ihre Workload, um effizient in einem Container zu arbeiten und bereitzustellen.

    Lesen Sie die Skalierung und Partitionierung Anleitung, um die verschiedenen Aspekte der Skalierungskonfiguration zu verstehen.

  • (Cluster und Workload) Führen Sie Leistungstests durch. Führen Sie ein fortlaufendes Load Testing durch, mit dem sowohl die Pod- als auch die Clusterautoskalierung geprüft wird. Vergleichen Sie die Ergebnisse mit den Leistungszielen und den etablierten Basiswerten.

  • (Cluster und Workload) Arbeitsauslastungen und Abläufe unabhängig voneinander skalieren. Trennen Sie Arbeitsauslastungen und Abläufe in verschiedene Knotenpools, um eine unabhängige Skalierung zu ermöglichen. Befolgen Sie die Leitlinien in Optimieren des Workloaddesigns mithilfe von Abläufen, um Ihre Abläufe zu identifizieren und zu priorisieren.

Empfehlungen

Empfehlung Vorteil
(Cluster) Aktivieren Sie die automatische Clusterskalierung, um die Anzahl von Agent-Knoten als Reaktion auf Workloadanforderungen automatisch anzupassen.

Verwenden Sie die HorizontalPodAutoscaler-, um die Anzahl der Pods in einer Bereitstellung abhängig von der CPU-Auslastung oder anderen Metriken anzupassen.
Mit der Möglichkeit, die Anzahl der Knoten automatisch zu skalieren oder zu verkleinern, und mit der Anzahl der Pods in Ihrem AKS-Cluster können Sie einen effizienten, kostengünstigen Cluster ausführen.
(Cluster und Workload) Teilen Sie Workloads in unterschiedliche Knotenpools auf, und ziehen Sie die Skalierung von Benutzerknotenpools in Erwägung. Im Unterschied zu Systemknotenpools, die immer ausgeführte Knoten erfordern, ermöglichen Benutzerknotenpools das Auf- und Abskalieren.
(Workload) Verwenden Sie die erweiterten Schedulerfunktionen von AKS, um den erweiterten Ausgleich von Ressourcen für Workloads zu implementieren, die sie benötigen. Beim Verwalten von AKS-Clustern müssen Sie häufig Teams und Workloads isolieren. Erweiterte Features, die der Kubernetes-Scheduler bereitstellt, ermöglichen Ihnen die Steuerung, welche Pods auf bestimmten Knoten geplant werden können. Außerdem können Sie steuern, wie Multipod-Anwendungen angemessen über den Cluster verteilt werden.
(Workload) Verwenden Sie KEDA-, um ein aussagekräftiges Autoscale-Regelset basierend auf Signalen zu erstellen, die für Ihre Workload spezifisch sind. Nicht alle Skalierungsentscheidungen können von CPU- oder Arbeitsspeichermetriken abgeleitet werden. Skalierungsüberlegungen kommen häufig aus komplexeren oder sogar externen Datenpunkten. KEDA ermöglicht Es Ihren Anwendungen, basierend auf Ereignissen zu skalieren, z. B. die Anzahl der Nachrichten in einer Warteschlange oder die Länge eines Themenabstands.

Azure-Richtlinien

Azure bietet einen umfassenden Satz integrierter Richtlinien im Zusammenhang mit AKS, die für die Azure-Ressource gelten, z. B. typische Azure-Richtlinien und das Azure-Richtlinien-Add-On für Kubernetes und innerhalb des Clusters. Viele der Azure-Ressourcenrichtlinien liegen sowohl in Audit/Deny- als auch in einer Deploy If Not Exists-Variante vor. Zusätzlich zu den integrierten Azure-Richtliniendefinitionen können Sie benutzerdefinierte Richtlinien sowohl für die AKS-Ressource als auch für das Azure-Richtlinien-Add-On für Kubernetes erstellen.

Einige der Empfehlungen in diesem Artikel können über Azure-Richtlinie überwacht werden. Sie können beispielsweise die folgenden Clusterrichtlinien überprüfen:

  • Cluster verfügen über Bereitschafts- oder Liveintegritätstests, die für Ihre Pod-Spezifikation konfiguriert sind.
  • Microsoft Defender für Richtlinien in der Cloud.
  • Authentifizierungsmodus und Konfigurationsrichtlinien, z. B. Microsoft Entra ID, RBAC und Deaktivieren der lokalen Authentifizierung.
  • API-Server-Netzwerkzugriffsrichtlinien, einschließlich privater Cluster.
  • GitOps-Konfigurationsrichtlinien.
  • Richtlinien für Diagnoseeinstellungen.
  • AKS-Versionsbeschränkungen.
  • Befehlsaufruf verhindern.

Sie können auch die folgenden Cluster- und Workloadrichtlinien überprüfen:

  • Kubernetes-Cluster-Pod-Sicherheitsinitiativen für Linux-basierte Workloads.
  • Schließen Sie Pod- und Containerfunktionsrichtlinien ein, z. B. AppArmor, sysctl, Sicherheitskappen, SELinux, Seccomp, privilegierte Container und AutoMount-Cluster-API-Anmeldeinformationen.
  • Einbindungs-, Volumetreiber- und Dateisystemrichtlinien.
  • Pod- und Containernetzwerkrichtlinien, z. B. Hostnetzwerk, Port, zulässige externe IPs, HTTPs und interne Lastenausgleichsgeräte.
  • Einschränkungen für die Bereitstellung von Namespaces.
  • CPU- und Arbeitsspeicherressourcenbeschränkungen.

Überprüfen Sie für vollständige Governance die integrierten Azure-Richtliniendefinitionen in Bezug auf Kubernetes sowie andere Richtlinien, die sich auf die Sicherheit der Rechenschicht auswirken können.

Empfehlungen für Azure Advisor

Azure Advisor ist ein personalisierter Cloudberater, der Ihnen hilft, bewährte Methoden zur Optimierung Ihrer Azure-Bereitstellungen zu befolgen. Hier sind einige Empfehlungen, die Ihnen helfen können, die Zuverlässigkeit, Sicherheit, Kosteneffizienz, Leistung und operative Exzellenz von AKS zu verbessern.

Betrachten Sie die folgenden Artikel als Ressourcen, die die in diesem Artikel hervorgehobenen Empfehlungen veranschaulichen.

Erstellen Sie das Know-how der Implementierung mithilfe der folgenden Produktdokumentation: