Nota

Automatizza i piani di switchover e failover per OCI Kubernetes Engine (Stateful) con OCI Full Stack Disaster Recovery

Introduzione

Oracle Cloud Infrastructure Full Stack Disaster Recovery (OCI Full Stack DR) orchestra la transizione di computazione, database e applicazioni tra le region Oracle Cloud Infrastructure (OCI) di tutto il mondo con un solo clic. I clienti possono automatizzare i passaggi necessari per recuperare uno o più sistemi aziendali senza riprogettare o riprogettare l'infrastruttura, i database o le applicazioni esistenti e senza dover ricorrere a server di gestione o conversione specializzati.

Oracle Cloud Infrastructure Kubernetes Engine (OKE) è un servizio Kubernetes gestito che semplifica lo sviluppo, l'implementazione e il funzionamento di carichi di lavoro containerizzati su larga scala. OKE ti consente di creare, gestire e utilizzare rapidamente i cluster Kubernetes che sfruttano i servizi di computazione, rete e storage OCI di base.

Architettura distribuzione

Diagramma architettura

Obiettivi

In questa esercitazione verranno trattati i task riportati di seguito.

Nota: in questa esercitazione l'area primaria è Francoforte e la standby region è Amsterdam.

Prerequisiti

Task 1: creare un gruppo dinamico e criteri per OKE e OCI Full Stack DR

Questi criteri consentono al servizio DR OCI Full Stack di accedere al bucket di storage degli oggetti OCI per caricare il backup della configurazione. Il criterio per l'accesso al bucket dello storage degli oggetti OCI dal cluster OKE dipende dal tipo di cluster.

  1. Creare un gruppo dinamico e criteri per il pool di nodi gestiti.

    • Creare un gruppo dinamico denominato <cluster1_dg>.

      All {instance.compartment.id = '<compartment_ocid>'}
      
    • Creare i criteri riportati di seguito.

      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. Creare i criteri riportati di seguito per il pool di nodi virtuali.

    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>'}
    

    Questi criteri offrono pod in esecuzione nello spazio di nomi brie con l'account di servizio brie-reader o brie-creator per leggere e scrivere nel bucket di storage degli oggetti OCI.

  3. Creare un gruppo dinamico e criteri per l'istanza del contenitore. Questi criteri consentono alle istanze dei container runtime create dal servizio DR OCI Full Stack di accedere al cluster OKE e al bucket di storage degli oggetti OCI.

    • Creare un gruppo dinamico denominato <bastion1_dg>.

      All {resource.type='computecontainerinstance'}
      
    • Creare i criteri riportati di seguito.

      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. Creare un gruppo dinamico e un criterio per l'host di accesso.

    Se si utilizza l'host jump, questo criterio consente a OCI Full Stack DR di accedere al cluster OKE e ai bucket di storage degli oggetti OCI. Se l'host e il cluster jump si trovano nello stesso compartimento, puoi evitare di eseguire passaggi per creare nuovi gruppi dinamici e criteri per fornire l'accesso al bucket di storage degli oggetti OCI.

    • Creare un gruppo dinamico denominato <bastion1_dg>.

      All {instance.compartment.id = '<compartment_ocid>'}
      
    • Creare il criterio seguente.

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

Nota: se non si include identity_domain_name prima di dynamic-group, l'istruzione criterio viene valutata come se il gruppo appartenesse al dominio di Identity predefinito. Per ulteriori informazioni, vedere Funzionamento dei criteri.

Task 2: aggiungere il cluster OKE principale ai gruppi di protezione DR principali

  1. Nel DRPG principale (DRPG_MUSHOP_FRA), selezionare Membri e fare clic su Aggiungi membro.

    Aggiungi cluster OKE principale

  2. Selezionare Cluster OKE come Tipo di risorsa.

    Aggiungi cluster OKE principale

  3. Immettere le informazioni richieste riportate di seguito.

    • Cluster OKE: immettere un cluster OKE.
    • Backup: immettere le informazioni di backup.
      • Bucket di backup: selezionare il bucket.
      • Selezionare Specificare la pianificazione del backup.
      • Tipo di piano: inserire il tipo di piano.
      • Ora di inizio: immettere l'ora di inizio in UTC.
      • Intervallo: immettere l'intervallo in giorni.
      • Numero massimo di backup da conservare (facoltativo): immettere il numero massimo di backup.
      • Selezionare Replica immagine:
      • Segreto replica immagine (facoltativo): selezionare un'immagine.
      • Spazio di nomi (facoltativo): immettere lo spazio di nomi.
    • Cluster OKE peer: selezionare il cluster OKE peer.
  4. Selezionare Capisco di dover aggiornare e verificare tutti i piani esistenti e fare clic su Aggiungi.

    Aggiungi cluster OKE principale

Task 3: aggiungere gruppi di volumi ai gruppi di protezione DR principali

  1. Nel DRPG principale (DRPG_MUSHOP_FRA), selezionare Membri e fare clic su Aggiungi membro.

    Aggiungi gruppi di volumi

  2. Selezionare Gruppo di volumi come Tipo di risorsa.

    Aggiungi gruppi di volumi

  3. Immettere le informazioni richieste riportate di seguito.

    • Gruppo di volumi: selezionare il gruppo di volumi.
  4. Selezionare Capisco di dover aggiornare e verificare tutti i piani esistenti e fare clic su Aggiungi.

    Aggiungi gruppi di volumi

Task 4: aggiungere un cluster OKE in standby ai gruppi di protezione DR in standby

  1. Nel DRPG in standby (DRPG_MUSHOP_AMS), selezionare Membri e fare clic su Aggiungi membro.

    Aggiungi cluster OKE in standby

  2. Selezionare Cluster OKE come Tipo di risorsa.

    Aggiungi cluster OKE in standby

  3. Immettere le informazioni richieste riportate di seguito.

    • Cluster OKE: immettere un cluster OKE.
    • Backup: immettere le informazioni di backup.
      • Bucket di backup: selezionare il bucket.
    • Cluster OKE peer: selezionare il cluster OKE peer.
  4. Selezionare Capisco di dover aggiornare e verificare tutti i piani esistenti e fare clic su Aggiungi.

    Aggiungi cluster OKE in standby

Task 5: Crea un piano di espansione iniziale

  1. Nel DRPG in standby (DRPG_MUSHOP_AMS), selezionare Piani e fare clic su Crea piano.

    Crea un piano di espansione iniziale

  2. Immettere un nome per il piano, selezionare Avvia drilling come Tipo di piano e fare clic su Crea.

    Crea un piano di espansione iniziale

    Dopo alcuni minuti, il piano mostrerà lo stato Attivo.

    Crea un piano di espansione iniziale

  3. Selezionare il piano creato per visualizzarne il contenuto.

    Crea un piano di espansione iniziale

Task 6: Esegui il piano di espansione iniziale

  1. Selezionare il piano creato nel task 5.

    Esegui piano di espansione iniziale

  2. Selezionare Abilita controlli preliminari e fare clic su Esegui piano.

    Esegui piano di espansione iniziale

    Dopo alcuni minuti, in tutti i gruppi verrà visualizzato lo stato Operazione riuscita.

    Esegui piano di espansione iniziale

Task 7: controllare l'applicazione in esecuzione sul cluster OKE in standby

Connettersi al cluster OKE in standby e verificare se l'applicazione è in esecuzione. Per l'applicazione MuShop eseguire il comando seguente.

kubectel get all -n mushop

Controllare l'applicazione in esecuzione sul cluster OKE in standby

Task 8: Crea un piano di interruzione espansione

  1. Nel DRPG in standby (DRPG_MUSHOP_AMS), selezionare Piani e fare clic su Crea piano.

    Crea un piano di espansione sosta

  2. Immettere un nome per il piano, selezionare Avvia drilling come Tipo di piano e fare clic su Crea.

    Crea un piano di espansione sosta

    Dopo alcuni minuti, il piano mostrerà lo stato Attivo.

    Crea un piano di espansione sosta

Task 9: Esegui il piano di interruzione drilling

  1. Selezionare il piano creato nel task 8.

    Esegui piano di interruzione drilling

  2. Selezionare Abilita controlli preliminari e fare clic su Esegui piano.

    Esegui piano di interruzione drilling

    Dopo alcuni minuti, tutti i gruppi visualizzeranno lo stato Succuss.

    Esegui piano di interruzione drilling

Task 10: Controlla cleanup su cluster OKE in standby

Connettersi al cluster OKE in standby e controllare la lista degli spazi di nomi utilizzando il comando seguente.

kubectl get namespaces

Controlla cleanup su cluster OKE in standby

Passi successivi

Dopo aver creato ed eseguito i piani di drilling, ora è il momento di creare un piano di switchover e un piano di failover.

Esistono due best practice da integrare nelle normali operazioni quotidiane per garantire la disponibilità dei piani di DR.

È possibile pianificare controlli preliminari settimanali di tutti i piani DR nel gruppo di protezione DR in standby. I controlli preliminari possono essere eseguiti in qualsiasi momento e non hanno alcun impatto sui carichi di lavoro di produzione. Ciò contribuirà a garantire l'integrità dei piani DR, recuperando le risorse membro mancanti, le reti mancanti, l'incapacità di trovare gli script previsti richiamati dai passi definiti dall'utente e così via.

Un altro modo molto importante per convalidare la prontezza del ripristino di emergenza è pianificare esercitazioni DR periodiche una volta al mese o al trimestre. I drill DR non hanno alcun impatto sui carichi di lavoro di produzione, ma ti offrono la possibilità di convalidare il recupero dei database di computazione, storage, Oracle e dei set backend per i load balancer nella standby region con un semplice clic. Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.