Grundlegende Konzepte für Azure Kubernetes Service (AKS)
In diesem Artikel werden die grundlegenden Konzepte von Azure Kubernetes Service (AKS) beschrieben, einem verwalteten Kubernetes-Dienst, mit dem Sie containerisierte Anwendungen im großen Stil in Azure bereitstellen und betreiben können.
Was ist Kubernetes?
Kubernetes ist eine Open-Source-Containerorchestrierungsplattform zum Automatisieren der Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. Weitere Informationen finden Sie in der offiziellen Kubernetes-Dokumentation.
Was ist AKS?
AKS ist ein verwalteter Kubernetes-Dienst, der die Bereitstellung, Verwaltung und Skalierung von containerisierten Anwendungen mit Kubernetes vereinfacht. Weitere Informationen finden Sie unter Was ist Azure Kubernetes Service (AKS)?
Komponenten eines Clusters
Ein AKS-Cluster ist in zwei Hauptkomponenten unterteilt:
- Steuerungsebene: Die Steuerungsebene stellt die grundlegenden Kubernetes-Dienste und Orchestrierungsfunktionen für Anwendungsworkloads bereit.
- Knoten: Knoten sind die zugrunde liegenden virtuellen Computer (VMs), die Ihre Anwendungen ausführen.
Steuerungsebene
Die von Azure verwaltete Steuerungsebene besteht aus mehreren Komponenten, die die Verwaltung des Clusters unterstützen:
Komponente | BESCHREIBUNG |
---|---|
kube-apiserver | Der API-Server (kube-apiserver) macht die Kubernetes-API verfügbar, um Anforderungen an den Cluster von innerhalb und außerhalb des Clusters zu ermöglichen. |
etcd | Für die Verwaltung des Zustands Ihres Kubernetes-Clusters und Ihrer Kubernetes-Konfiguration ist etcd ein hoch verfügbarer Schlüssel-Wert-Speicher. |
kube-scheduler | Der Planer (kube-scheduler) hilft beim Planen von Entscheidungen, bei der Überwachung neuer Pods ohne zugewiesenen Knoten und beim Auswählen eines Knotens, auf dem sie ausgeführt werden sollen. |
kube-controller-manager | Der Controller-Manager (kube-controller-manager) führt Controllerprozesse aus, z. B. notieren und reagieren, wenn Knoten heruntergehen. |
cloud-controller-manager | Der Cloudcontrollermanager (cloud-controller-manager) bettet cloudspezifische Steuerelementlogik ein, um Controller auszuführen, die für den Cloudanbieter spezifisch sind. |
Nodes
Jeder AKS-Cluster besteht aus mindestens einem Knoten, bei dem es sich um einen virtuellen Azure-Computer (Azure-VM) handelt, der die Kubernetes-Knotenkomponenten ausführt. Die folgenden Komponenten werden auf dem jeweiligen Knoten ausgeführt:
Komponente | Beschreibung |
---|---|
kubelet | Das kubelet stellt sicher, dass Container in einem Pod ausgeführt werden. |
kube-proxy | Der kube-proxy ist ein Netzwerkproxy, der Netzwerkregeln auf Knoten verwaltet. |
Containerruntime | Die container runtime verwaltet die Ausführung und den Lebenszyklus von Containern. |
Knotenkonfiguration
VM-Größe und -Image
Die Größe der Azure-VMs für Ihre Knoten definiert die CPUs, den Arbeitsspeicher, die Größe und den Typ des verfügbaren Speichers (z. B. hochleistungsfähige SSDs oder reguläre HDDs). Die gewählte VM-Größe hängt von den Workloadanforderungen und der Anzahl der Pods ab, die Sie für den jeweiligen Knoten ausführen möchten. Weitere Informationen finden Sie unter Unterstützte VM-Größen in Azure Kubernetes Service (AKS).
In AKS basiert das VM-Image für die Knoten in Ihrem Cluster auf Ubuntu Linux, Azure Linux oder Windows Server 2022. Wenn Sie einen AKS-Cluster erstellen oder die Anzahl von Knoten aufskalieren, erstellt und konfiguriert die Azure-Plattform automatisch die angeforderte Anzahl von VMs. Agent-Knoten werden als Standard-VMs in Rechnung gestellt, sodass alle etwaigen Rabatte für VM-Größen (einschließlich Azure-Reservierungen) automatisch angewendet werden.
Betriebssystem-Datenträger
Die Standarddimensionierung der Betriebssystemdatenträger wird nur für neue Cluster oder Knotenpools verwendet, wenn kurzlebige Betriebssystemdatenträger nicht unterstützt werden und keine Standardgröße für Betriebssystemdatenträger angegeben wird. Weitere Informationen finden Sie unter Standardmäßige Festplattengröße des Betriebssystems sowie unter Kurzlebige Betriebssystemdatenträger.
Ressourcenreservierungen
AKS verwendet Knotenressourcen, damit die Knoten als Teil des Clusters fungieren können. Diese Verwendung kann zu einer Abweichung zwischen den Gesamtressourcen des Knotens und den Ressourcen führen, die in AKS zugewiesen werden können. Um die Leistung und Funktionalität des Knotens zu gewährleisten, reserviert AKS zwei Ressourcentypen auf jedem Knoten, CPU und Arbeitsspeicher. Weitere Informationen finden Sie unter Ressourcenreservierungen in AKS.
OS
AKS unterstützt Ubuntu 22.04 und Azure Linux 2.0 als Knotenbetriebssystem für Linux-Knotenpools. Für Windows-Knotenpools unterstützt AKS Windows Server 2022 als Standardbetriebssystem. Windows Server 2019 wird eingestellt, nachdem Kubernetes Version 1.32 das Ende der Lebensdauer erreicht hat, und wird in zukünftigen Releases nicht mehr unterstützt. Wenn Sie ein Upgrade Ihrer Windows-Betriebssystemversion durchführen müssen, lesen Sie Upgrade von Windows Server 2019 auf Windows Server 2022. Weitere Informationen zur Verwendung von Windows Server auf AKS finden Sie unter Überlegungen zu Windows-Containern in Azure Kubernetes Service (AKS).
Containerruntime
Eine Containerruntime ist eine Software, die Container ausführt und Containerimages auf einem Knoten verwaltet. Die Runtime erleichtert die Abstraktion von sys-Aufrufen oder betriebssystemspezifischen Funktionen zum Ausführen von Containern unter Linux oder Windows. Bei Linux-Knotenpools wird containerd
für Kubernetes Version 1.19 und höher verwendet. Für Windows Server 2019- und 2022-Knotenpools ist containerd
allgemein verfügbar, und die einzige Container-Laufzeitumgebung in Kubernetes Version 1.23 oder höher.
Pods
Ein Pod ist eine Gruppe von einem oder mehreren Containern, die sich dieselben Netzwerk- und Speicherressourcen sowie eine Spezifikation für den Betrieb der Container teilen. Pods weisen in der Regel eine 1:1-Zuordnung mit einem Container auf, aber Sie können mehrere Container in einem Pod ausführen.
Knotenpools
In AKS werden Knoten mit der gleichen Konfiguration in Knotenpools gruppiert. Diese Knotenpools enthalten die zugrunde liegenden Skalierungsgruppen für virtuelle Computer und die eigentlichen virtuelle Computer (VMs), die Ihre Anwendungen ausführen. Wenn Sie ein AKS-Cluster erstellen, definieren Sie die anfängliche Anzahl der Knoten und ihre Größe (SKU), wodurch ein Systemknotenpool erstellt wird. Systemknotenpools dienen dem primären Zweck, kritische Systempods wie CoreDNS und konnectivity
zu hosten. Sie können Benutzerknotenpools erstellen, um Anwendungen mit unterschiedlichen Compute- oder Speicheranforderungen zu unterstützen. Benutzerknotenpools dienen dem primären Zweck, Ihre Anwendungspods zu hosten.
Weitere Informationen finden Sie unter Erstellen von Knotenpools in AKS und Verwalten von Knotenpools in AKS.
Knotenressourcengruppe
Wenn Sie einen AKS-Cluster in einer Azure-Ressourcengruppe erstellen, erstellt der AKS-Ressourcenanbieter automatisch eine zweite Ressourcengruppe, die als Knotenressourcengruppebezeichnet wird. Diese Ressourcengruppe enthält alle dem Cluster zugeordneten Infrastrukturressourcen, einschließlich virtueller Computer (VMs), VM-Skalierungsgruppen und Speicher.
Weitere Informationen finden Sie in den folgenden Ressourcen:
- Warum werden zwei Ressourcengruppen mit AKS erstellt?
- Kann ich einen eigenen Namen für die AKS-Knotenressourcengruppe angeben?
- Kann ich Tags und andere Eigenschaften der AKS-Ressourcen in der Knotenressourcengruppe ändern?
Namespaces
Kubernetes-Ressourcen wie Pods und Bereitstellungen werden logisch in einem Namespace gruppiert, um einen AKS-Cluster zu unterteilen und den Zugriff auf Ressourcen zu erstellen, anzuzeigen oder zu verwalten.
Die folgenden Namespaces werden standardmäßig in einem AKS-Cluster erstellt:
Namespace | BESCHREIBUNG |
---|---|
default | Mit dem Namespace default können Sie mit der Verwendung von Clusterressourcen beginnen, ohne einen neuen Namespace zu erstellen. |
kube-node-lease | Der Namespace kube-node-lease ermöglicht es den Knoten, ihre Verfügbarkeit an die Steuerungsebene zu kommunizieren. |
kube-public | Der Namespace kube-public wird normalerweise nicht verwendet, kann jedoch verwendet werden, um Ressourcen für den gesamten Cluster von jeder benutzenden Person sichtbar zu machen. |
kube-system | Der Namespace kube-system wird von Kubernetes zum Verwalten von Clusterressourcen verwendet, z. B. coredns , konnectivity-agent und metrics-server . |
Clustermodi
In AKS können Sie einen Cluster mit dem Modus Automatisch (Vorschau) oder Standard erstellen. AKS Automatic bietet eine vollständig verwaltete Oberfläche, das Verwalten der Clusterkonfiguration, einschließlich Knoten, Skalierung, Sicherheit und andere vorkonfigurierte Einstellungen. AKS Standard bietet mehr Kontrolle über die Clusterkonfiguration, einschließlich der Möglichkeit, Knotenpools, Skalierung und andere Einstellungen zu verwalten.
Weitere Informationen finden Sie unter Funktionsvergleich AKS Automatic und Standard.
Tarife
AKS bietet drei Preisstufen für die Clusterverwaltung: Kostenlos, Standard und Premium. Das von Ihnen ausgewählte Preisniveau bestimmt die Funktionen, die für die Verwaltung Ihres Clusters zur Verfügung stehen.
Weitere Informationen finden Sie unter Preisstufen für die AKS-Clusterverwaltung.
Unterstützte Kubernetes-Versionen
Weitere Informationen finden Sie unter Unterstützte Kubernetes-Versionen in AKS.
Nächste Schritte
Weitere Informationen zu weiteren grundlegenden Konzepten für AKS finden Sie in den folgenden Ressourcen:
Azure Kubernetes Service