Hinweis:

Automatisieren Sie Switchover- und Failover-Pläne für OCI Kubernetes Engine (zustandsbehaftet) mit OCI Full Stack Disaster Recovery

Einführung

Oracle Cloud Infrastructure Full Stack Disaster Recovery (OCI Full Stack DR) orchestriert den Übergang von Compute, Datenbank und Anwendungen zwischen Oracle Cloud Infrastructure-(OCI-)Regionen aus der ganzen Welt mit einem einzigen Klick. Kunden können die erforderlichen Schritte zur Wiederherstellung eines oder mehrerer Geschäftssysteme automatisieren, ohne vorhandene Infrastruktur, Datenbanken oder Anwendungen neu zu entwerfen oder neu zu strukturieren und ohne spezielle Verwaltungs- oder Konvertierungsserver zu benötigen.

Oracle Cloud Infrastructure Kubernetes Engine (OKE) ist ein verwalteter Kubernetes-Service, der die Entwicklung, Bereitstellung und den Betrieb von containerisierten Workloads in großem Maßstab vereinfacht. Mit OKE können Sie schnell Kubernetes-Cluster erstellen, verwalten und nutzen, die zugrunde liegende OCI Compute-, Netzwerk- und Speicherservices nutzen.

Deployment-Architektur

Architekturdiagramm

Ziele

Die folgenden Aufgaben werden in diesem Tutorial behandelt.

Hinweis: In diesem Tutorial lautet die primäre Region Frankfurt, die Standbyregion Amsterdam.

Voraussetzungen

Aufgabe 1: Dynamische Gruppe und Policys für OKE und OCI Full Stack DR erstellen

Mit diesen Policys kann der OCI Full Stack DR-Service auf den OCI Object Storage-Bucket zugreifen, um das Konfigurationsbackup hochzuladen. Die Policy für den Zugriff auf OCI Object Storage-Buckets aus dem OKE-Cluster hängt vom Clustertyp ab.

  1. Erstellen Sie eine dynamische Gruppe und Policys für den Pool verwalteter Knoten.

    • Erstellen Sie eine dynamische Gruppe namens <cluster1_dg>.

      All {instance.compartment.id = '<compartment_ocid>'}
      
    • Erstellen Sie die folgenden Policys.

      Allow dynamic-group cluster1_dg to manage object-family in compartment <compartment>
      Allow dynamic-group cluster1_dg to manage cluster-family in compartment <compartment>
      
  2. Erstellen Sie die folgenden Policys für den virtuellen Knotenpool.

    Allow any-user to manage objects in tenancy where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-reader', request.principal.cluster_id = '<Cluster_OCID>'}
    
    Allow any-user to manage objects in tenancy where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-creator', request.principal.cluster_id = '<Cluster_OCID>'}
    

    Diese Policys erteilen Pods, die im Brie-Namespace mit dem Serviceaccount brie-reader oder brie-creator ausgeführt werden, um in den OCI Object Storage-Bucket zu lesen und zu schreiben.

  3. Erstellen Sie eine dynamische Gruppe und Policys für die Containerinstanz. Mit diesen Policys können vom OCI Full Stack DR-Service erstellte Laufzeitcontainerinstanzen auf das OKE-Cluster und den OCI Object Storage-Bucket zugreifen.

    • Erstellen Sie eine dynamische Gruppe namens <bastion1_dg>.

      All {resource.type='computecontainerinstance'}
      
    • Erstellen Sie die folgenden Policys.

      Allow dynamic-group bastion1_dg to manage object-family in compartment <compartment>
      Allow dynamic-group bastion1_dg to manage cluster-family in compartment <compartment>
      
  4. Erstellen Sie eine dynamische Gruppe und Policy für den Jump-Host.

    Wenn Sie einen Jump-Host verwenden, kann OCI Full Stack DR mit dieser Policy auf das OKE-Cluster und die OCI-Objektspeicher-Buckets zugreifen. Wenn sich Jump-Host und Cluster in demselben Compartment befinden, können Sie Schritte zum Erstellen einer neuen dynamischen Gruppe und Policy vermeiden, um Zugriff auf den OCI Object Storage-Bucket zu erteilen.

    • Erstellen Sie eine dynamische Gruppe namens <bastion1_dg>.

      All {instance.compartment.id = '<compartment_ocid>'}
      
    • Erstellen Sie die folgende Policy.

      Allow dynamic-group bastion1_dg to manage cluster-family in compartment <compartment>Allow dynamic-group bastion1_dg to manage cluster in compartment <compartment>
      

Hinweis: Wenn Sie identity_domain_name nicht vor dynamic-group aufnehmen, wird die Policy-Anweisung ausgewertet, als gehört die Gruppe zur Standardidentitätsdomain. Weitere Informationen finden Sie unter Funktionsweise von Policys.

Aufgabe 2: Primäres OKE-Cluster zu den primären DR-Schutzgruppen hinzufügen

  1. Wählen Sie im primären DRPG (DRPG_MUSHOP_FRA) die Option Mitglieder aus, und klicken Sie auf Element hinzufügen.

    Primäres OKE-Cluster hinzufügen

  2. Wählen Sie OKE-Cluster als Ressourcentyp aus.

    Primäres OKE-Cluster hinzufügen

  3. Geben Sie die folgenden erforderlichen Informationen ein.

    • OKE-Cluster: Geben Sie ein OKE-Cluster ein.
    • Backup: Geben Sie Backupinformationen ein.
      • Backup-Bucket: Wählen Sie einen Bucket aus.
      • Wählen Sie Backupzeitplan angeben aus.
      • Plantyp: Geben Sie die Planart ein.
      • Startzeit: Geben Sie die Startzeit in UTC ein.
      • Intervall: Geben Sie das Intervall in Tagen ein.
      • Die maximale Anzahl Backups, die aufbewahrt werden sollen (optional): Geben Sie die maximale Anzahl Backups ein.
      • Wählen Sie Imagereplikation aus:
      • Imagereplikations-Secret (optional): Wählen Sie das Image aus.
      • Namespace (optional): Geben Sie den Namespace ein.
    • Peer-OKE-Cluster: Wählen Sie das Peer-OKE-Cluster aus.
  4. Wählen Sie Ich habe verstanden, dass ich alle vorhandenen Pläne aktualisieren und prüfen muss, und klicken Sie auf Hinzufügen.

    Primäres OKE-Cluster hinzufügen

Aufgabe 3: Volume-Gruppen zu den primären DR-Schutzgruppen hinzufügen

  1. Wählen Sie im primären DRPG (DRPG_MUSHOP_FRA) die Option Mitglieder aus, und klicken Sie auf Element hinzufügen.

    Volume-Gruppen hinzufügen

  2. Wählen Sie Volume-Gruppe als Ressourcentyp aus.

    Volume-Gruppen hinzufügen

  3. Geben Sie die folgenden erforderlichen Informationen ein.

    • Volume-Gruppe: Wählen Sie die Volume-Gruppe aus.
  4. Wählen Sie Ich habe verstanden, dass ich alle vorhandenen Pläne aktualisieren und prüfen muss, und klicken Sie auf Hinzufügen.

    Volume-Gruppen hinzufügen

Aufgabe 4: Standby-OKE-Cluster zu Standby-DR-Schutzgruppen hinzufügen

  1. Wählen Sie im Standby-DRPG (DRPG_MUSHOP_AMS) die Option Mitglieder aus, und klicken Sie auf Element hinzufügen.

    Standby-OKE-Cluster hinzufügen

  2. Wählen Sie OKE-Cluster als Ressourcentyp aus.

    Standby-OKE-Cluster hinzufügen

  3. Geben Sie die folgenden erforderlichen Informationen ein.

    • OKE-Cluster: Geben Sie ein OKE-Cluster ein.
    • Backup: Geben Sie Backupinformationen ein.
      • Backup-Bucket: Wählen Sie einen Bucket aus.
    • Peer-OKE-Cluster: Wählen Sie das Peer-OKE-Cluster aus.
  4. Wählen Sie Ich habe verstanden, dass ich alle vorhandenen Pläne aktualisieren und prüfen muss, und klicken Sie auf Hinzufügen.

    Standby-OKE-Cluster hinzufügen

Aufgabe 5: Startaufgliederungsplan erstellen

  1. Wählen Sie im Standby-DRPG (DRPG_MUSHOP_AMS) die Option Pläne aus, und klicken Sie auf Plan erstellen.

    Startaufgliederungsplan erstellen

  2. Geben Sie einen Namen für den Plan ein, wählen Sie unter Plantyp die Option Drill starten aus, und klicken Sie auf Erstellen.

    Startaufgliederungsplan erstellen

    Nach einigen Minuten zeigt der Plan den Status Aktiv an.

    Startaufgliederungsplan erstellen

  3. Wählen Sie den erstellten Plan aus, um dessen Inhalt anzuzeigen.

    Startaufgliederungsplan erstellen

Aufgabe 6: Aufgliederungsplan starten ausführen

  1. Wählen Sie den in Aufgabe 5 erstellten Plan aus.

    Start-Drill-Plan ausführen

  2. Wählen Sie Vorabprüfungen aktivieren aus, und klicken Sie auf Plan ausführen.

    Start-Drill-Plan ausführen

    Nach einigen Minuten zeigen alle Gruppen den Status Erfolgreich an.

    Start-Drill-Plan ausführen

Aufgabe 7: Auf dem Standby-OKE-Cluster ausgeführte Anwendung prüfen

Stellen Sie eine Verbindung zum Standby-OKE-Cluster her, und prüfen Sie, ob die Anwendung ausgeführt wird. Führen Sie für die Anwendung MuShop den folgenden Befehl aus.

kubectel get all -n mushop

Anwendung prüfen, die auf dem Standby-OKE-Cluster ausgeführt wird

Aufgabe 8: Aufgliederungsplan stoppen erstellen

  1. Wählen Sie im Standby-DRPG (DRPG_MUSHOP_AMS) die Option Pläne aus, und klicken Sie auf Plan erstellen.

    Drill-Stoppplan erstellen

  2. Geben Sie einen Namen für den Plan ein, wählen Sie unter Plantyp die Option Drill starten aus, und klicken Sie auf Erstellen.

    Drill-Stoppplan erstellen

    Nach einigen Minuten zeigt der Plan den Status Aktiv an.

    Drill-Stoppplan erstellen

Aufgabe 9: Aufgliederungsplan stoppen ausführen

  1. Wählen Sie den in Aufgabe 8 erstellten Plan aus.

    Drilldown-Plan stoppen ausführen

  2. Wählen Sie Vorabprüfungen aktivieren aus, und klicken Sie auf Plan ausführen.

    Drilldown-Plan stoppen ausführen

    Nach einigen Minuten zeigen alle Gruppen den Status Succuss an.

    Drilldown-Plan stoppen ausführen

Aufgabe 10: Bereinigung für Standby-OKE-Cluster prüfen

Melden Sie sich beim Standby-OKE-Cluster an, und prüfen Sie die Liste der Namespaces mit dem folgenden Befehl.

kubectl get namespaces

Bereinigung auf Standby-OKE-Cluster prüfen

Nächste Schritte

Nachdem Sie die Aufgliederungspläne erstellt und ausgeführt haben, ist es jetzt an der Zeit, einen Switchover-Plan und einen Failover-Plan zu erstellen.

Es gibt zwei Best Practices, die in den normalen täglichen Betrieb integriert werden sollten, um die Bereitschaft Ihrer DR-Pläne sicherzustellen.

Planen Sie wöchentliche Vorabprüfungen aller DR-Pläne in der Standby-DR-Schutzgruppe. Vorabprüfungen können jederzeit ausgeführt werden und haben keine Auswirkungen auf Produktions-Workloads. Dadurch wird die Integrität Ihrer DR-Pläne sichergestellt, fehlende Mitgliederressourcen, fehlende Netzwerke, die Unfähigkeit, erwartete Skripte zu finden, die von benutzerdefinierten Schritten aufgerufen werden, usw. abgefangen.

Eine weitere sehr wichtige Methode zur Validierung der Disaster Recovery-Bereitschaft besteht darin, regelmäßige DR-Drills einmal im Monat oder Quartal zu planen. DR-Drills haben auch keine Auswirkungen auf Produktions-Workloads, bieten Ihnen jedoch die Möglichkeit, das Recovery von Compute-, Speicher-, Oracle-Datenbanken und Backend-Sets für Load Balancer in der Standbyregion mit nur einem Mausklick zu validieren. Weitere Informationen:

Danksagungen

Weitere Lernressourcen

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

Die Produktdokumentation finden Sie im Oracle Help Center.