Workload in mehreren OKE-Clustern mit Karmada verwalten

Einführung

Karmada (Kurzform für Kubernetes Armada) ist eine Managementplattform, mit der Sie cloudnative Anwendungen nahtlos über mehrere Kubernetes-Cluster und Cloud-Umgebungen hinweg ausführen können, ohne dass Änderungen an Ihren Anwendungen erforderlich sind. Durch die Nutzung von Kubernetes-nativen APIs und erweiterten Planungsfunktionen bietet Karmada ein offenes und wirklich Multi-Cloud-Kubernetes-Erlebnis.

Karmada wurde für Multi-Cloud- und Hybrid-Cloud-Anwendungsfälle entwickelt und bietet schlüsselfertige Automatisierung für die Verwaltung von Anwendungen über Cluster hinweg. Seine Kernfunktionen umfassen zentralisiertes Management, hohe Verfügbarkeit, automatisierte Fehlerwiederherstellung und intelligente Verkehrsplanung.

Ziele

Voraussetzungen

Aufgabe 1: Erforderliche Ressourcen für die Demo erstellen

Hinweis: Die folgenden Schritte zeigen, wie Sie 3 OKE-Cluster und 1 VM bereitstellen, die während der Demo verwendet werden.

  1. Laden Sie die Release-ZIP-Datei mit den Terraform-Dateien von github herunter: karmada-on-oke.

  2. Verwenden Sie Oracle Resource Manager, um den Stack zu erstellen und anzuwenden.

    1. Navigieren Sie über das Hamburger-Menü zu Oracle Resource Manager.
    2. Wählen Sie Stacks.
    3. Wählen Sie Create stack aus.
    4. Wählen Sie My configuration aus.
    5. Stellen Sie im Abschnitt My configuration sicher, dass Zip file ausgewählt ist. Wählen Sie die ZIP-Datei aus, die Sie zuvor heruntergeladen haben. Wählen Sie Upload aus.
    6. Geben Sie dem Stack einen aussagekräftigen Namen.
    7. Wählen Sie Next.
    8. Wählen Sie den SSH-Public Key aus, mit dem eine Verbindung zur VM hergestellt werden soll.
    9. Wählen Sie das Compartment aus, in dem die Ressourcen erstellt werden.
    10. Wählen Sie Next.
    11. Wählen Sie im nächsten Bildschirm Run apply aus.
    12. Wählen Sie Create aus.
  3. Rufen Sie die öffentliche IP der VM ab.

    Wenn der Job aus dem vorherigen Schritt erfolgreich ausgeführt wurde, muss die letzte Zeile im Log die öffentliche IP der VM enthalten. Notieren Sie es für die spätere Verwendung.

Aufgabe 2: Karmada auf Hostcluster installieren

  1. Verwenden Sie die zuvor erhaltene IP mit ssh, um eine Verbindung zur VM herzustellen:
    ssh -i <private-ssh-key> opc@<public-IP>
    
  2. Zu Root-Benutzer wechseln:

    sudo su -
    
  3. Installieren Sie karmada-Komponenten auf dem Hostcluster:

    karmadactl init
    

Aufgabe 3: OKE-Clustermitglieder beitreten

  1. Join-Cluster member1:

       karmadactl --kubeconfig /etc/karmada/karmada-apiserver.config  join member1 --cluster-kubeconfig=$HOME/.kube/config-k1
    
  2. Join-Cluster member2:

       karmadactl --kubeconfig /etc/karmada/karmada-apiserver.config  join member2 --cluster-kubeconfig=$HOME/.kube/config-k2
    
  3. Member-Cluster anzeigen:

    karmadactl --kubeconfig /etc/karmada/karmada-apiserver.config  get clusters
    

Aufgabe 4: Workload auf Karmada bereitstellen

  1. Setzen Sie KUBECONFIG so, dass es auf den karmada-api-Server verweist:

    export KUBECONFIG=/etc/karmada/karmada-apiserver.config
    
  2. Erstellen Sie das Deployment und die entsprechende Propagierungs-Policy:

    kubectl apply -f https://raw.githubusercontent.com/oracle-devrel/oci-automation-hub/refs/heads/main/karmada-on-oke-sample/deployment.yaml
    kubectl apply -f https://raw.githubusercontent.com/oracle-devrel/oci-automation-hub/refs/heads/main/karmada-on-oke-sample/propagationpolicy.yaml
    
  3. Prüfen Sie das Deployment:

    karmadactl  get deployment --operation-scope all
    

    Ausgabe sollte dem Nachstehenden ähneln:

    # karmadactl  get deployment --operation-scope all
    NAME    CLUSTER   READY   UP-TO-DATE   AVAILABLE   AGE   ADOPTION
    nginx   Karmada   3/3     3            3           22m   -
    nginx   member2   2/2     2            2           22m   Y
    nginx   member1   1/1     1            1           22m   Y
    

    Beachten Sie, dass von den drei Pods zwei auf member2 und ein auf member1 ausgeführt werden.

Aufgabe 5: Bereinigen

  1. Deinstallieren Sie karmada-Komponenten aus dem Hostcluster:
karmadactl --kubeconfig /root/.kube/config deinit
  1. Zerstören Sie die mit dem Terraform-Stack erstellten Ressourcen:

Bestätigungen

Weitere Lernressourcen

Sehen Sie sich weitere Übungen auf docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im YouTube-Kanal von Oracle Learning zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.