Bearbeiten

Freigeben über


Kostenmanagement für Kubernetes

Azure Cost Management
Azure Kubernetes Service (AKS)
Azure Managed Disks
Azure Storage
Azure Virtual Machines

In diesem Leitfaden wird erläutert, wie das Preis- und Kostenmanagement in Azure Kubernetes Service (AKS) im Vergleich zu Amazon Elastic Kubernetes Service (Amazon EKS) funktioniert. In dem Artikel wird beschrieben, wie Sie Kosten optimieren und Kostengovernancelösungen für Ihren AKS-Cluster implementieren.

Hinweis

Dieser Artikel ist Teil einer Artikelreihe, die Experten, die mit Amazon EKS vertraut sind, hilft, Azure Kubernetes Service (AKS) zu verstehen.

Amazon EKS-Kostengrundlagen

In Amazon EKS bezahlen Sie einen festen Preis pro Stunde für jeden Amazon EKS-Cluster. Außerdem bezahlen Sie für das Netzwerk, die Betriebstools und den Speicher, die der Cluster verwendet.

Amazon EKS-Workerknoten sind Amazon EC2-Standardinstanzen, weshalb für sie normale Amazon EC2-Preise anfallen. Sie bezahlen ferner für andere Amazon Web Services (AWS)-Ressourcen, die Sie bereitstellen, um Ihre Kubernetes-Workerknoten auszuführen.

Für die Verwendung von verwalteten Amazon EKS-Knotengruppen entstehen keine zusätzlichen Kosten. Sie bezahlen nur für die AWS-Ressourcen, die Sie bereitstellen, einschließlich Amazon EC2-Instanzen, Amazon EBS-Volumes, Amazon EKS-Clusterstunden und jegliche andere AWS-Infrastruktur.

Wenn Sie eine verwaltete Knotengruppe erstellen, können Sie sich für die Verwendung des Kapazitätstyps „On-Demand“ oder „Spot-Instanzen“ entscheiden, um die Kosten von Agent-Knoten zu verwalten. Amazon EKS stellt eine verwaltete Knotengruppe mit einer Amazon EC2 Auto Scaling-Gruppe bereit, die entweder alle On-Demand- oder alle Spot-Instanzen enthält.

Bei On-Demand-Instanzen bezahlen Sie die Computekapazität nach Sekunden ohne langfristige Verpflichtungen. Spot-Instanzen von Amazon EC2 sind Amazon EC2-Reservekapazitäten, die im Vergleich zu On-Demand-Preisen Rabatte bieten.

  • Amazon EC2-Spot-Instanzen können mit einer Unterbrechungsbenachrichtigung mit einem Vorlauf von zwei Minuten unterbrochen werden, wenn EC2 die Kapazität zurück benötigt.

  • Amazon bietet Spot Fleet, eine Methode zum Automatisieren von Gruppen von On-Demand- und Spot-Instanzen sowie Spot Instance Advisor, um vorauszusagen, welche Region oder Verfügbarkeitszone möglicherweise minimale Unterbrechungen bieten kann.

  • Die Preise für AWS-Spot-Instanzen variieren. AWS legt den Preis abhängig von langfristigen Angebots- und Nachfragetrends für die Spot-Instanzkapazität fest, und Sie bezahlen den Preis, der während des Zeitraums gültig ist, in dem die Instanz aktiv ist.

Azure Kubernetes Service Kostenanalyse

Ein Azure Kubernetes Service-Cluster (AKS) ist auf verschiedene Azure-Ressourcen wie virtuelle Computer, virtuelle Datenträger, Lastenausgleichsmodule und öffentliche IP-Adressen angewiesen. Diese Ressourcen können von mehreren Anwendungen genutzt werden, die in einer Organisation möglicherweise von verschiedenen Teams verwaltet werden. Die Ressourcenverbrauchsmuster können variabel sein, so dass der Beitrag zu den gesamten Clusterressourcenkosten ebenfalls variieren kann. Darüber hinaus können einige Anwendungen auch Speicherbedarf in mehreren Clustern aufweisen, was eine Herausforderung bei der Kostenzuweisung und -verwaltung darstellen kann.

Für Szenarien, in denen ein Cluster eine einzelne Workload enthält, kann Microsoft Cost Management verwendet werden, um den Clusterressourcenverbrauch unter der Clusterressourcengruppe zu messen. Einige Szenarien werden jedoch nicht allein von dieser Lösung abgedeckt, wie z. B.:

  • Detaillierte Aufschlüsselung der Ressourcennutzung, z. B. Compute, Netzwerk und Speicher.
  • Unterscheiden zwischen einzelnen Anwendungskosten und Gemeinkosten.
  • Analysieren von Kosten in mehreren Clustern im selben Abonnementbereich.

Um bessere Einblicke in die Kosten zu erhalten, wurde AKS in Microsoft Cost Management integriert, um detaillierte Kosten-Drilldowns für Kubernetes-Konstrukte wie Cluster und Namespace anzubieten. Diese Integration ermöglicht die Kostenanalyse für Azure Compute-, Netzwerk- und Speicherkategorien.

Das Add-On für die AKS-Kostenanalyse basiert auf OpenCost, einem Open Source-Projekt zur Sammlung von Nutzungsdaten. Die Kostenanalyse wird mit Ihren Azure-Rechnungsdaten in Einklang gebracht. Nachbearbeitete Daten sind direkt im Cost Management-Kostenanalyseportal sichtbar. Weitere Informationen finden Sie unter Azure Kubernetes Service – Kostenanalyse.

Kostendefinitionen

In den Kubernetes-Namespaces und -Ressourcenansichten werden die folgenden Gebühren angezeigt:

  • Leerlaufgebühren: Stellt die Kosten der verfügbaren Ressourcenkapazität dar, die nicht von Arbeitslasten verwendet werden.
  • Dienstgebühren: repräsentiert die Gebühren, die dem Dienst zugeordnet sind, z. B. Uptime SLA (Service-Level Agreement), Microsoft Defender for Containers usw.
  • Systemgebühren: Stellt die Kosten der Kapazität dar, die von AKS auf jedem Knoten reserviert sind, um Systemprozesse auszuführen, die vom Cluster benötigt werden.
  • Nicht zugewiesene Gebühren: Stellt die Kosten für Ressourcen dar, die keinen Namespaces zugeordnet werden konnten.

AKS-Kostengrundlagen

Die Kubernetes-Architektur basiert auf zwei Ebenen: der Steuerungsebene und einem oder mehreren Knoten oder Knotenpools. Das AKS-Preismodell basiert auf den beiden Kubernetes-Architekturebenen.

  • Die Steuerungsebene stellt Kubernetes-Kerndienste bereit, z. B. den API-Server und etcd sowie Orchestrierung der Anwendungsworkload. Die Azure-Plattform verwaltet die AKS-Steuerungsebene, und im kostenlosen AKS-Tarif (Free) fallen für die Steuerungsebene keine Kosten an.

  • Die Knoten, auch als Agent-Knoten oder Workerknoten bezeichnet, hosten Kubernetes-Workloads und -Anwendungen. In AKS verwalten und bezahlen Kunden alle Kosten für die Agent-Knoten.

Das folgende Diagramm zeigt die Beziehung zwischen der Steuerungsebene und Knoten in einer AKS Kubernetes-Architektur.

Diagramm der Steuerungsebene und Knoten in der AKS-Architektur.

Steuerungsebene

Azure stellt die Steuerungsebene automatisch bereit und konfiguriert sie, wenn Sie einen AKS-Cluster erstellen. Im kostenlosen AKS-Tarif ist die Steuerungsebene kostenlos.

Für eine höhere Vereinbarung zum Servicelevel (Service Level Agreement, SLA) der Steuerungsebene können Sie einen AKS-Cluster im Standard-Tarif erstellen. Die SLA zur Uptime ist standardmäßig im Standard-Tarif enthalten und wird pro Cluster aktiviert. Der Preis beträgt 0,10 USD pro Cluster und Stunde. Weitere Informationen finden Sie unter Azure Kubernetes Service (AKS) – Preise.

Cluster im Standard-Tarif bieten mehr Ressourcen auf Steuerungsebene (z. B. eine höhere Anzahl von API-Serverinstanzen), Etcd-Ressourcengrenzwerte, Skalierbarkeit auf bis zu 5.000 Knoten und Unterstützung für die vorhandene Uptime-SLA mit finanzieller Absicherung. AKS verwendet Hauptknotenreplikate über Update- und Fehlerdomänen hinweg, um die Anforderungen an die Verfügbarkeit zu erfüllen.

Am besten verwenden Sie den Standard-Tarif in Produktionsworkloads, um eine höhere Verfügbarkeit der Komponenten der Steuerungsebene zu gewährleisten. Cluster im Free-Tarif verfügen über weniger Replikate und eingeschränkte Steuerungsebenenressourcen, weshalb sie für Produktionsworkloads nicht geeignet sind.

Knoten

In AKS erstellen Sie Agent- oder Workerknoten in einem oder mehreren Knotenpools, die viele Azure-Kernfunktionen in der Kubernetes-Umgebung verwenden können. AKS berechnet nur für die Knoten Gebühren, die an den AKS-Cluster angefügt sind.

AKS-Knoten verwenden mehrere Azure-Infrastrukturressourcen, einschließlich VM-Skalierungsgruppen, virtueller Netzwerke und verwalteter Datenträger. Sie können beispielsweise die meisten virtuellen Azure-Computertypen direkt in AKS verwenden. Sie können Azure-Reservierungen und den Azure-Sparplan für Compute nutzen, um erhebliche Rabatte auf diese Ressourcen zu erhalten.

Preise für AKS-Cluster basieren auf der Klasse, Anzahl und Größe der VMs in den Knotenpools. Die VM-Kosten sind abhängig von Größe, CPU-Typ, Anzahl der vCPUs, Arbeitsspeicher, Familie und verfügbarem Speichertyp, z. B. Hochleistungs-SSD (Solid-State Drive) oder HDD Standard. Weitere Informationen finden Sie unter VM-Serien. Planen Sie die Knotengröße gemäß den Anforderungen der Anwendungen, der Anzahl von Knoten und der Anforderungen an die Clusterskalierbarkeit.

Weitere Informationen zu Agent-Knoten und -Knotenpools finden Sie im Artikel Knotenpools in dieser Reihe und unter Erstellen und Verwalten mehrerer Knotenpools für einen Cluster in Azure Kubernetes Service (AKS).

AKS-Clusterbereitstellung

Jede AKS-Bereitstellung umfasst zwei Azure-Ressourcengruppen.

  • Sie erstellen die erste Ressourcengruppe, die nur die Kubernetes-Dienstressource enthält und keine Kosten aufweist.

  • Der AKS-Ressourcenanbieter erstellt die zweite oder Knotenressourcengruppe automatisch während der Bereitstellung. Der Standardname für diese Ressourcengruppe lautet MC_<resourcegroupname>_<clustername>_<location>, doch sie können einen anderen Namen angeben. Weitere Informationen finden Sie unter Bereitstellen meines eigenen Namens für die AKS-Knotenressourcengruppe.

    Die Knotenressourcengruppe enthält alle Clusterinfrastrukturressourcen und ist diejenige, für die in Ihrem Abonnement Gebühren angezeigt werden. Diese Ressourcen umfassen die virtuellen Computer des Kubernetes-Knotens, virtuelle Netzwerke, Speicher und andere Dienste. AKS löscht automatisch die Knotenressourcengruppe, wenn der Cluster gelöscht wird. Sie sollte sie daher nur für Ressourcen verwenden, die denselben Lebenszyklus wie der Cluster haben.

Computekosten

Sie bezahlen für Azure-VMs entsprechend ihrer Größe und Verwendung. Einen Vergleich zwischen Azure Compute und AWS finden Sie unter Compute-Dienste in Azure und AWS.

Im Allgemeinen gilt: je größer die für einen Knotenpool ausgewählte VM, desto höher die stündlichen Kosten für die Agent-Knoten. Je spezialisierter die VM-Serie, die Sie für den Knotenpool verwenden, z. B. GPU-aktiviert (Grafikprozessor) oder speicheroptimiert, desto teurer ist der Pool.

Berücksichtigen Sie bei der Untersuchung der Azure-VM-Preise die folgenden Punkte:

  • Preise unterscheiden sich nach Region, und nicht alle Dienste und VM-Größen sind in jeder Region verfügbar.

  • Es gibt mehrere VM-Familien, die für unterschiedliche Arten von Workloads optimiert sind.

  • Verwaltete Datenträger, die als Betriebssystemdatenträger verwendet werden, werden separat berechnet, und Sie müssen deren Kosten zu Ihren Schätzungen addieren. Die Größe verwalteter Datenträger hängt von der Klasse ab, z. B. Standard HDDs, Standard SSDs, Premium SSDs oder Disk Storage Ultra. Eingabe/Ausgabe-Vorgänge pro Sekunde (IOPS) und Durchsatz in MB/s hängen von der Größe und Klasse ab. Kurzlebige Betriebssystemdatenträger sind kostenlos und im VM-Preis enthalten.

  • Datenträger für Daten, einschließlich jener, die mit Ansprüchen für persistente Volumes erstellt wurden, sind optional und werden basierend auf ihrer Klasse einzeln berechnet, z. B. Standard HDDs, Standard SSDs, Premium SSDs und Disk Storage Ultra. Sie müssen Datenträger für Daten explizit zu Kostenschätzungen addieren. Die Anzahl zulässiger Datenträger, temporärer Speicher-SSDs, IOPS und des Durchsatzes in MB/s hängt von der Größe und Klasse der VM ab.

  • Je länger Agent-Knoten in Betrieb sind und ausgeführt werden, desto höher sind die Gesamtkosten für den Cluster. Entwicklungsumgebungen müssen in der Regel nicht kontinuierlich ausgeführt werden.

  • Netzwerkschnittstellen (NICs) sind kostenlos.

Speicherkosten

Container Storage Interface (CSI) ist ein Standard für die Bereitstellung von Block- und Dateispeichersystemen für containerisierte Workloads in Kubernetes. Durch die Einführung und Verwendung von CSI kann AKS Plug-Ins schreiben, bereitstellen und durchlaufen, die Kubernetes-Speichersysteme verfügbar machen, ohne den Kerncode von Kubernetes zu ändern oder die Releasezyklen abwarten zu müssen.

Wenn Sie Workloads ausführen, die persistente CSI-Volumes in Ihrem AKS-Cluster verwenden, sollten Sie die durch den Speicher verursachten Kosten berücksichtigen, den Ihre Anwendungen bereitstellen und verwenden. CSI-Speichertreiber in AKS bieten native Unterstützung für die folgenden Speicheroptionen:

  • Azure Disks erstellt Kubernetes-Datenträgerressourcen für Daten. Datenträger können auf Hochleistungs-SSDs basierenden Speicher vom Typ „Azure Storage Premium“ oder auf regulären Festplatten oder Standard-SSDs basierenden Speicher vom Typ „Azure Storage Standard“ nutzen. Die meisten Produktions- und Entwicklungsworkloads verwenden Storage Premium. Azure-Datenträger werden als ReadWriteOnce eingebunden, was sie nur für einen AKS-Knoten verfügbar macht. Verwenden Sie für Speichervolumes, auf die mehrere Pods gleichzeitig zugreifen können, Azure Files. Informationen zu Kosten finden Sie unter Managed Disks – Preise.

  • Azure Files bindet SMB-Dateifreigaben (Server Messaging Block) der Versionen 3.0/3.1 mit Unterstützung eines Azure Storage-Kontos in AKS-Pods ein. Sie können Daten über mehrere Knoten und Pods hinweg gemeinsam nutzen. Azure Files kann auf regulären Festplattenlaufwerken basierenden Storage Standard oder auf Hochleistungs-SSDs basierenden Storage Premium verwenden. Azure Files verwendet ein Azure Storage-Konto und verursacht Gebühren in Abhängigkeit von den folgenden Faktoren:

    • Dienst: Blob, File, Queue, Table oder nicht verwaltete Datenträger
    • Speicherkontotyp: GPv1, GPv2, Blob oder Premium Blob
    • Resilienz: Lokal redundanter Speicher (LRS), zonenredundanter Speicher (ZRS), georedundanter Speicher (GRS) oder georedundanter Speicher mit Lesezugriff (RA-GRS)
    • Zugriffsebene: Heiß, Kalt oder Archiv
    • Vorgänge und Datenübertragungen
    • Verwendete Kapazität in GB
  • Azure NetApp Files ist in mehreren SKU-Tarifen verfügbar und erfordert eine mindestens bereitgestellte Kapazität von 4 TiB in 1-TiB-Inkrementen. Die Gebühren für Azure NetApp Files basieren auf den folgenden Faktoren:

    • SKU
    • Resilienz: LRS, ZRS oder GRS
    • Bereitgestellte Größe oder Kapazität, nicht verwendete Kapazität
    • Vorgänge und Datenübertragung
    • Sicherungen und Wiederherstellungen

Netzwerkkosten

Mehrere Azure-Netzwerkdienste können Zugriff auf Ihre Anwendungen bereitstellen, die in AKS ausgeführt werden:

  • Azure Load Balancer: Standardmäßig verwendet Load Balancer die Standard-SKU. Die Gebühren für Load Balancer basieren auf:

    • Regeln: Die Anzahl der konfigurierten Lastenausgleichsregeln und Regeln für ausgehenden Datenverkehr. NAT-Regeln (Netzwerkadressenübersetzung) für eingehenden Datenverkehr werden nicht in die Gesamtzahl von Regeln eingerechnet.
    • Verarbeitete Daten: Die Menge der verarbeiteten eingehenden und ausgehenden Daten, unabhängig von den Regeln. Für Standard Load Balancer ohne konfigurierte Regeln fallen keine Kosten auf Stundenbasis an.
  • Azure Application Gateway: AKS verwendet häufig Application Gateway über den Application Gateway-Eingangsdatencontroller oder durch Vorschalten eines anderen Eingangsdatencontrollers mit manuell verwaltetem Application Gateway. Application Gateway unterstützt Gatewayrouting, TLS-Abschluss (Transport Layer Security) und Web Application Firewall-Funktionalität. Gebühren für Application Gateway basieren auf:

    • Festpreis, der pro Stunde oder Teilstunde festgelegt ist.
    • Kapazitätseinheitenpreis, zusätzliche verbrauchsbasierte Kosten. Jede Kapazitätseinheit umfasst höchstens eine Compute-Einheit, 2.500 persistente Verbindungen und einen Durchsatz von 2,22 MBit/s.
  • Öffentliche IP-Adressen verursachen Kosten, die abhängig sind von:

    • Reservierte vs. dynamische Zuordnung.
    • Basic vs. geschützten und zonenredundanten Standard-Tarif.

Kosten der horizontalen Skalierung

Es gibt mehrere Optionen zum Skalieren eines AKS-Clusters, um zusätzliche Kapazität zu Knotenpools hinzuzufügen:

  • Bei Bedarf können Sie die Anzahl der virtuellen Computer, die Teil eines Knotenpools sind, manuell aktualisieren oder mehr Knotenpools hinzufügen.

  • Die AKS-Autoskalierung für Cluster überprüft auf Pods, die aufgrund von Ressourceneinschränkungen nicht auf Knoten geplant werden können, und erhöht automatisch die Anzahl der Knoten.

  • AKS unterstützt die Ausführung von Containern auf Azure Container Instances mithilfe der Implementierung von virtuellem Kubelet. Ein virtueller AKS-Knoten stellt Container Instances-Pods bereit, die in Sekunden gestartet werden können, sodass AKS mit gerade ausreichender Kapazität für eine durchschnittliche Workload ausgeführt werden kann. Wenn sich die Kapazität des AKS-Clusters erschöpft, können Sie mehr Container Instances-Pods aufskalieren, ohne zusätzliche Server zu verwalten. Sie können diesen Ansatz mit der Autoskalierung des Clusters und der manuellen Skalierung kombinieren.

Wenn Sie die On-Demand-Skalierung oder die Clusterautoskalierung verwenden, berücksichtigen Sie die hinzugefügten VMs. Die Gebühren für Container Instances basieren auf den folgenden Faktoren:

  • Abrechnung nutzungsbasierter Metriken pro Containergruppe
  • vCPU und Arbeitsspeicher der Sammlung
  • Nutzung eines einzelnen Containers oder gemeinsame Nutzung mehrerer Container
  • Verwendung gemeinsam geplanter Container, die dasselbe Netzwerk verwenden und denselben Knotenlebenszyklus haben
  • Nutzungsdauer, berechnet vom Start oder Neustart des Imagepulls bis zur Beendigung des Vorgangs
  • Zusätzliche Gebühr für Windows-Containergruppen

Kosten von Upgrades

Im Rahmen des AKS-Clusterlebenszyklus werden regelmäßige Upgrades auf die aktuelle Kubernetes-Version ausgeführt. Es ist wichtig, die neuesten Sicherheitsreleases anzuwenden und die neuesten Features zu erhalten. Sie können AKS-Cluster und einzelne Knotenpools manuell oder automatisch upgraden. Weitere Informationen finden Sie unter Durchführen eines Upgrades für einen Azure Kubernetes Service-Cluster (AKS).

Standardmäßig konfiguriert AKS Upgrades für einen Anstieg mit einem zusätzlichen Knoten. Ein Standardwert von 1 für die max-surge-Einstellungen minimiert Workloadunterbrechungen, indem ein zusätzlicher Knoten erstellt wird, um Knoten mit älteren Versionen vor dem Absperren oder Ausgleichen vorhandener Anwendungen zu ersetzen. Sie können den max-surge-Wert pro Knotenpool anpassen, um einen Kompromiss zwischen der Geschwindigkeit des Upgrades und den Unterbrechungen durch das Upgrade zu ermöglichen. Wenn Sie den max-surge-Wert erhöhen, wird der Upgradevorgang schneller abgeschlossen, doch ein hoher max-surge-Wert kann zu Unterbrechungen während des Upgradevorgangs führen und Extrakosten für zusätzliche VMs verursachen.

Sonstige Kosten

Je nach Verwendung und Anforderungen können AKS-Cluster die folgenden Extrakosten verursachen:

Kostenoptimierung

Die folgenden Empfehlungen helfen Ihnen bei der Optimierung Ihrer AKS-Clusterkosten:

  • Lesen Sie den Abschnitt Kostenoptimierung des Azure Well-Architected Framework für AKS.

  • Für mehrinstanzenfähige Lösungen ist die physische Isolation teurer und fügt Verwaltungsmehraufwand hinzu. Logische Isolation erfordert mehr Kubernetes-Erfahrung und erhöht die Angriffsfläche für Änderungen und Sicherheitsbedrohungen, teilt jedoch die Kosten.

  • Mit Azure-Reservierungen können Sie Geld sparen, indem Sie sich bei mehreren Produkten, z. B. den VMs in Ihrem AKS-Cluster, für Pläne mit einer Laufzeit von einem Jahr oder drei Jahren verpflichten. Durch das Reservieren von Kapazitäten erhalten Sie Rabatte. Verwenden Sie Azure-Reservierungen für Speicher und Compute, um die Kosten von Agent-Knoten zu verringern.

    Reservierungen können Ihre Ressourcenkosten um bis zu 72 % gegenüber Preisen für nutzungsbasierte Bezahlung reduzieren und wirken sich nicht auf den Laufzeitzustand Ihrer Ressourcen aus. Nach dem Kauf einer Reservierung gilt der Rabatt automatisch für die übereinstimmenden Ressourcen. Sie können Reservierungen im Azure-Portal oder mithilfe von Azure-REST-APIs, PowerShell oder der Azure-CLI kaufen. Wenn Sie Betriebstools verwenden, die auf Log Analytics-Arbeitsbereichen basieren, sollten Sie ebenfalls die Verwendung von Reservierungen für diesen Speicher erwägen.

  • Fügen Sie ihrem AKS-Cluster einen oder mehrere Spot-Knotenpools hinzu. Ein Spot-Knotenpool ist ein Knotenpool, der von Azure Spot-VM-Skalierungsgruppen unterstützt wird. Durch die Verwendung von Spot-VMs für Ihre AKS-Clusterknoten können Sie die ungenutzte Azure-Kapazität mit erheblichen Kosteneinsparungen nutzen. Die Menge der verfügbaren, nicht genutzten Kapazität variiert in Abhängigkeit von vielen Faktoren, einschließlich Größe, Region und Tageszeit des Knotens. Azure ordnet die Spot-Knoten zu, wenn Kapazität verfügbar ist, aber keine SLA für Spot-Knoten besteht. Eine Spot-Skalierungsgruppe, die den Spot-Knotenpool unterstützt, wird in einer einzelnen Fehlerdomäne bereitgestellt und bietet keine Hochverfügbarkeit. Wenn die Kapazität von Azure wieder benötigt wird, werden die Spot-Knoten durch die Azure-Infrastruktur entfernt.

    Wenn Sie einen Spot-Knotenpool erstellen, können Sie den Höchstpreis definieren, der pro Stunde bezahlt werden soll, und die Autoskalierung des Clusters aktivieren, was für Spot-Knotenpools empfohlen wird. Die Autoskalierung des Clusters skaliert die Anzahl der Knoten im Knotenpool auf Grundlage der ausgeführten Workloads auf und ab. Bei Spot-Knotenpools skaliert die automatische Clusterskalierung die Anzahl der Knoten nach einer Entfernung auf, wenn die Knoten immer noch benötigt werden. Weitere Informationen finden Sie unter Hinzufügen eines Spot-Knotenpools zu einem Azure Kubernetes Service (AKS)-Cluster.

  • Wählen Sie die richtige VM-Größe für Ihre AKS-Clusterknotenpools basierend auf den CPU- und Arbeitsspeicheranforderungen Ihrer Workloads aus. Azure bietet viele verschiedene VM-Instanztypen, die eine breite Palette von Anwendungsfällen abdecken, mit unterschiedlichen Kombinationen aus CPU, Arbeitsspeicher, Speicher und Netzwerkkapazität. Jeden Typ gibt es in einer oder mehreren Größen, sodass Sie Ihre Ressourcen ganz einfach skalieren können.

    Sie können jetzt containerisierte Anwendungen mit AKS bereitstellen und verwalten, das auf Ampere Altra ARM-basierten Prozessoren ausgeführt wird. Weitere Informationen finden Sie unter Azure Virtual Machines mit Ampere Altra ARM-basierten Prozessoren.

  • Erstellen Sie mehrere Knotenpools mit unterschiedlichen VM-Größen für spezielle Zwecke und Workloads. Verwenden Sie Taints und Toleranzen und Knotenbezeichnungen in Kubernetes, um ressourcenintensive Anwendungen auf bestimmten Knotenpools zu platzieren und Beeinträchtigungen durch andere Dienste („Noisy Neighbors“) zu vermeiden. Halten Sie diese Knotenressourcen für Workloads verfügbar, die diese benötigen, und planen Sie keine anderen Workloads auf diesen Knoten. Durch die Verwendung verschiedener VM-Größen für unterschiedliche Knotenpools lassen sich Kosten auch optimieren. Weitere Informationen finden Sie unter Verwenden mehrerer Knotenpools in Azure Kubernetes Service (AKS).

  • Knotenpools im Systemmodus müssen mindestens einen Knoten enthalten, während Knotenpools im Benutzermodus keine oder mehrere Knoten enthalten können. Wann immer möglich, können Sie einen Knotenpool im Benutzermodus so konfigurieren, dass er automatisch von 0 auf N Knoten skaliert wird. Sie können Ihre Workloads so konfigurieren, dass sie unter Verwendung eines Horizontal Pod Autoscalers horizontal und vertikal skaliert werden. Verwenden Sie als Grundlage für die Autoskalierung CPU und Arbeitsspeicher, oder verwenden Sie ereignisgesteuerte Kubernetes-Autoskalierung (Kubernetes Event-Driven Autoscaling, KEDA), um als Basis für die Autoskalierung die Metriken eines externen Systems wie Apache Kafka, RabbitMQ oder Azure Service Bus zu verwenden.

  • Stellen Sie sicher, dass Sie Anforderungen und Grenzwerte für Ihre Pods ordnungsgemäß festlegen, um die Anwendungsdichte zu verbessern und die Zuweisung zu vieler CPU- und Arbeitsspeicherressourcen zu Ihren Workloads zu vermeiden. Überwachen Sie den durchschnittlichen und maximalen Verbrauch von CPU und Arbeitsspeicher mithilfe von Prometheus oder Container Insights. Konfigurieren Sie Grenzwerte und Kontingente für Ihre Pods ordnungsgemäß in den YAML-Manifesten, Helm-Diagrammen und Kustomize-Manifesten für Ihre Bereitstellungen.

  • Verwenden Sie ResourceQuota-Objekte, um Kontingente für die Gesamtmenge des Arbeitsspeichers und der CPU für alle Pods festzulegen, die in einem bestimmten Namespace ausgeführt werden. Die systematische Verwendung von Ressourcenkontingenten verhindert Beeinträchtigungen durch andere Dienste („Noisy Neighbors“), verbessert die Anwendungsdichte und verringert die Anzahl der Agent-Knoten sowie die Gesamtkosten. Verwenden Sie außerdem LimitRange-Objekte, um die Standardanforderungen an CPU und Arbeitsspeicher für Pods in einem Namespace zu konfigurieren.

  • Verwenden Sie Container Instances für Bursting.

  • Ihre AKS-Workloads müssen möglicherweise nicht kontinuierlich ausgeführt werden, z. B. bestimmte Workloads in Knotenpools eines Entwicklungsclusters. Um Kosten zu optimieren, können Sie einen AKS-Cluster vollständig abschalten oder einen oder mehrere Knotenpools in Ihrem AKS-Cluster beenden. Weitere Informationen finden Sie unter Beenden und Starten eines Azure Kubernetes Service (AKS)-Clusters und Starten und Beenden eines Knotenpools in Azure Kubernetes Service (AKS).

  • Azure Policy integriert sich in AKS durch integrierte Richtlinien, mit denen Erzwingungs- und Schutzmaßnahmen im großen Stil zentral und konsistent angewendet werden können. Aktivieren Sie das Azure Policy-Add-On auf Ihrem Cluster, und wenden Sie die standardmäßigen Anforderungen und Grenzwerte für die CPU sowie die Grenzwerte für Arbeitsspeicherressourcen an, die sicherstellen, dass Grenzwerte für CPU- und Arbeitsspeicherressourcen für Clustercontainer definiert sind.

  • Verwenden Sie Azure Advisor, um nicht verwendete Ressourcen zu überwachen und freizugeben.

  • Verwenden Sie Microsoft Cost Management-Budgets und -Überprüfungen, um den Überblick über Ausgaben zu behalten.

Kostengovernance

Die Cloud kann die technische Leistung von geschäftlichen Workloads erheblich verbessern. Cloudtechnologien können außerdem die Kosten der Verwaltung von Organisationsressourcen und den damit einhergehenden Mehraufwand verringern. Diese geschäftliche Chance schafft jedoch auch Risiken, da Cloudbereitstellungen das Potenzial für Verschwendung und Ineffizienz erhöhen können.

Kostengovernance ist der Prozess der kontinuierlichen Implementierung von Richtlinien oder Kontrollen, um Ausgaben und Kosten zu begrenzen. Native Kubernetes-Tools und Azure-Tools unterstützen beide die Kostengovernance mit proaktiver Überwachung sowie die Kostenoptimierung der zugrunde liegenden Infrastruktur.

  • Microsoft Cost Management ist eine Suite von Microsoft-Tools, die Ihnen beim Analysieren, Verwalten und Optimieren der Kosten Ihrer Azure-Workloads helfen. Mithilfe dieser Suite können Sie sicherstellen, dass Ihre Organisation die Vorteile nutzt, die die Cloud bietet.

  • Lesen Sie die bewährten Methoden der Cloud Adoption Framework-Governance für die Fachrichtung „Cost Management“, um die Verwaltung und Governance von Cloudkosten besser zu verstehen.

  • Erkunden Sie Open-Source-Tools wie KubeCost, um AKS-Clusterkosten zu überwachen und zu steuern. Sie können die Kostenzuteilung auf eine Bereitstellung, einen Dienst, eine Bezeichnung, einen Pod und einen Namespace beschränken, wodurch Sie Clusterbenutzer flexibel anzeigen und ihnen Kosten berechnen können.

Reference Material

Hier finden Sie einige Referenzmaterialien, die Ihnen dabei helfen, die AKS-Kostenanalyse besser zu verstehen und zu nutzen:

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte