Bearbeiten

Freigeben über


Wählen Sie eine Option für eine Bare-Metal-Kubernetes-Edge-Plattform

Azure Kubernetes Service (AKS)

Wenn Sie Kubernetes am Edge ausführen möchten und feststellen, dass verwaltete Lösungen Ihren Anforderungen nicht ganz gerecht werden, ist möglicherweise Bare-Metal eine Option für Sie. Dieses Dokument hilft Ihnen bei der Ermittlung der besten verfügbaren Option für Ihren Anwendungsfall, wenn Sie Kubernetes-Cluster am Edge konfigurieren.

Hinweis

Hierbei handelt es sich nicht um eine umfassende Gegenüberstellung. Vielmehr werden in diesem Dokument potenzielle Entscheidungspfade für zentrale Qualifizierer gängiger Optionen präsentiert.

Entscheidungsstruktur für Bare-Metal-Kubernetes am Edge

Ziehen Sie bei Entscheidungen zwischen den unten aufgeführten Optionen für Bare-Metal-Kubernetes am Edge die folgende Struktur heran.

Diagramm: Flussdiagramm für die Auswahl der zu verwendenden Bare-Metal-Optionen.

Laden Sie eine Visio-Datei mit diesem Flussdiagramm herunter.

  • MicroK8s: Low Ops-konforme Kubernetes-Lösung von Canonical

  • K3s: Zertifizierte Kubernetes-Distribution für IoT und Edgecomputing

  • kubeadm: Kubernetes-Tool zum Erstellen neuer Kubernetes-Cluster, gut geeignet für Standard-Computeressourcen (Linux/Windows)

Hinweis

Low Ops bezieht sich auf die geringeren Betriebskosten durch Abstrahierung oder Vereinfachung operativer Aufgaben (beispielsweise durch automatische Updates oder vereinfachte Upgrades).

MicroK8s von Canonical

MicroK8s wird als einzelnesSnap-Paket bereitgestellt, das problemlos auf Linux-Computern mit Snap-Unterstützung installiert werden kann. Alternativ stehen Installationen für Windows, macOS und Raspberry Pi/ARM zur Verfügung. Von MicroK8s wird bei der Installation ein Cluster mit einem Knoten erstellt, der mit den MicroK8s-Tools verwaltet werden kann. Das Paket enthält ein eigenes kubectl-Tool, und es können bestimmte Add-Ons aktiviert werden (beispielsweise Helm, DNS, Ingress, MetalLB und weitere). Mehrere Knoten, Windows-Knoten und Hochverfügbarkeitsszenarien werden ebenfalls unterstützt.

Überlegungen:

  • Die Ressourcenanforderungen sind abhängig davon, wo Sie MicroK8s ausführen möchten. Informationen zu den Mindestanforderungen für Ressourcen finden Sie in der Produktdokumentation. Zum Beispiel:

    • Ubuntu: 4 GB RAM, 20 GB Speicherplatz

    • Windows: 4 GB RAM, 40 GB Speicherplatz

  • Windows-Workloads werden nur für MicroK8s-Cluster mit Calico CNI unterstützt.

  • Für jeden Knoten in einem MicroK8s-Cluster mit mehreren Knoten muss eine eigene Umgebung verwendet werden – ganz gleich, ob es sich um einen separaten virtuellen Computer oder Container auf einem einzelnen Computer oder um einen anderen Computer im gleichen Netzwerk handelt.

  • Probleme können auftreten, wenn MicroK8s auf bestimmter ARM-Hardware ausgeführt wird. Informationen zu möglichen Lösungen finden Sie in der Dokumentation.

K3s von Rancher

Bei K3s handelt es sich um eine einfache Kubernetes-Distribution. K3s wird als einzelne Binärdatei bereitgestellt und enthält ähnlich wie MicroK8s eingebettete Tools wie kubectl und ctr.

Überlegungen:

  • Die Binärdatei ist zwar kleiner als 100 MB, je nach Szenario gelten aber trotzdem minimale Ressourcenanforderungen. Informationen zu den Mindestanforderungen für Ressourcen finden Sie in der Dokumentation.

  • Das Standardspeichersystem ist SQLite3, es werden aber auch andere Optionen unterstützt.

  • Windows-Knoten werden für K3s zurzeit nicht unterstützt.

  • Hochverfügbarkeit kann entweder mit einer externen Datenbank oder mit einer eingebetteten Datenbank erreicht werden. Ab dem K3s-Release v1.19.5+k3s1 wird eingebetteter etcd vollständig unterstützt.

kubeadm

kubeadm ist eine ganz einfache Grundinstallation von Kubernetes.

Überlegungen:

  • Erfordert mindestens 2 GiB (Gibibytes) RAM pro Computer

  • Erfordert mindestens zwei CPUs auf dem Knoten der Steuerungsebene

  • Der Knoten der Steuerungsebene muss ein Computer sein, auf dem ein deb-/rpm-kompatibles Linux-Betriebssystem ausgeführt wird.

  • Die Richtlinie zur Unterstützung der Kubernetes-Version und Versionsabweichung gilt für kubeadm und allgemein für Kubernetes. Diese Richtlinie gibt Aufschluss über die unterstützten Versionen von Kubernetes und kubeadm.

Verwaltung/Automatisierung

Bei der Automatisierung und Verwaltung der Bereitstellung von Bare-Metal-Clustern haben Sie die Wahl zwischen zwei Optionen: Ansible und Metal3.

Ansible zeichnet sich durch eine unkomplizierte Verwaltung von Remoteressourcen aus und eignet sich daher bestens für die Verwaltung von Remoteknoten sowie für deren Einbindung in einen Kubernetes-Cluster. Sie benötigen lediglich die auf einem Linux-Computer ausgeführte Ansible-Binärdatei und SSH auf Remotecomputern. Durch diese Methode steht Ihnen ein flexibler Mechanismus für die Ausführung beliebiger Skripts auf Zielcomputern zur Verfügung. Somit kann Ansible mit jedem der oben genannten Tools genutzt werden.

Metal3 verfolgt einen anderen Lösungsansatz und verwendet ähnliche Konzepte wie die Cluster-API. Sie müssen einen kurzlebigen Cluster instanziieren, um Bare-Metal-Cluster mit nativen Kubernetes-Objekten bereitstellen und verwalten zu können. Da Metal3 zum Zeitpunkt der Artikelerstellung kubeadm verwendet, werden keine einfachen Kubernetes-Distributionen unterstützt.

Für Verwaltungsaufgaben, die über die Clusterbereitstellung hinausgehen, sollten Sie sich ggf. über Cluster mit Azure Arc-Unterstützung informieren und Ihre Cluster in Azure verwalten.

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln: