Remarques :

Automatiser les plans de permutation et de basculement pour OCI Kubernetes Engine (avec conservation de statut) avec OCI Full Stack Disaster Recovery

Introduction

Oracle Cloud Infrastructure Full Stack Disaster Recovery (OCI Full Stack DR) orchestre la transition du calcul, de la base de données et des applications entre les régions Oracle Cloud Infrastructure (OCI) du monde entier en un seul clic. Les clients peuvent automatiser les étapes nécessaires à la récupération d'un ou de plusieurs systèmes métier sans repenser ou modifier l'architecture de l'infrastructure, des bases de données ou des applications existantes, et sans avoir besoin de serveurs de gestion ou de conversion spécialisés.

Oracle Cloud Infrastructure Kubernetes Engine (OKE) est un service Kubernetes géré qui simplifie le développement, le déploiement et l'exploitation de charges de travail en conteneur à grande échelle. OKE vous permet de créer, de gérer et d'utiliser rapidement des clusters Kubernetes qui exploitent les services de calcul, de réseau et de stockage OCI sous-jacents.

Architecture de déploiement

Diagramme d'architecture

Objectifs

Les tâches suivantes seront décrites dans ce tutoriel.

Remarque : dans ce tutoriel, la région principale est Francfort et la région de secours est Amsterdam.

Prérequis

Tâche 1 : création d'un groupe dynamique et de stratégies pour OKE et OCI Full Stack DR

Ces stratégies permettent au service OCI Full Stack DR d'accéder au bucket OCI Object Storage pour télécharger une sauvegarde de configuration. La stratégie pour l'accès au bucket OCI Object Storage à partir du cluster OKE dépend du type de cluster.

  1. Créez un groupe dynamique et des stratégies pour le pool de noeuds gérés.

    • Créez un groupe dynamique nommé <cluster1_dg>.

      All {instance.compartment.id = '<compartment_ocid>'}
      
    • Créez les stratégies suivantes.

      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. Créez les stratégies suivantes pour le pool de noeuds virtuels.

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

    Ces stratégies permettent aux pods exécutés dans un espace de noms brie avec le compte de service brie-reader ou brie-creator de lire et d'écrire dans le bucket OCI Object Storage.

  3. Créez un groupe dynamique et des stratégies pour l'instance de conteneur. Ces stratégies permettent aux instances de conteneur d'exécution créées par le service OCI Full Stack DR d'accéder au cluster OKE et au bucket OCI Object Storage.

    • Créez un groupe dynamique nommé <bastion1_dg>.

      All {resource.type='computecontainerinstance'}
      
    • Créez les stratégies suivantes.

      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. Créez un groupe dynamique et une stratégie pour l'hôte de saut.

    Si vous utilisez un hôte de saut, cette stratégie permet à OCI Full Stack DR d'accéder au cluster OKE et aux buckets de stockage d'objets OCI. Si l'hôte et le cluster de saut se trouvent dans le même compartiment, vous pouvez éviter les étapes de création d'un groupe dynamique et d'une stratégie pour fournir l'accès au bucket OCI Object Storage.

    • Créez un groupe dynamique nommé <bastion1_dg>.

      All {instance.compartment.id = '<compartment_ocid>'}
      
    • Créez la stratégie suivante.

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

Remarque : si vous n'incluez pas identity_domain_name avant dynamic-group, l'instruction de stratégie est évaluée comme si le groupe appartenait au domaine d'identité par défaut. Pour plus d'informations, reportez-vous à Fonctionnement des stratégies.

Tâche 2 : ajouter le cluster OKE principal aux groupes de protection de récupération après sinistre principaux

  1. Dans le DRPG principal (DRPG_MUSHOP_FRA), sélectionnez Membres et cliquez sur Ajouter un membre.

    Ajouter un cluster OKE principal

  2. Sélectionnez Cluster OKE comme type de ressource.

    Ajouter un cluster OKE principal

  3. Entrez les informations obligatoires suivantes.

    • Cluster OKE : entrez un cluster OKE.
    • Sauvegarde : entrez les informations de sauvegarde.
      • Bucket de sauvegarde : sélectionnez un bucket.
      • Sélectionnez Indiquer la programmation de sauvegarde.
      • Type de programme : Entrez le type de programme.
      • Heure de début : entrez l'heure de début au format UTC.
      • Intervalle : entrez l'intervalle en jours.
      • Nombre maximal de sauvegardes à conserver (facultatif) : entrez le nombre maximal de sauvegardes.
      • Sélectionnez Réplication d'image :
      • Clé secrète de réplication d'image (facultatif) : sélectionnez l'image.
      • Espace de noms (facultatif) : entrez l'espace de noms.
    • Cluster OKE homologue : sélectionnez un cluster OKE homologue.
  4. Sélectionnez Je comprends que je dois actualiser et vérifier tous les plans existants, puis cliquez sur Ajouter.

    Ajouter un cluster OKE principal

Tâche 3 : ajout de groupes de volumes aux groupes de protection de récupération après sinistre principaux

  1. Dans le DRPG principal (DRPG_MUSHOP_FRA), sélectionnez Membres et cliquez sur Ajouter un membre.

    Ajouter des groupes de volumes

  2. Sélectionnez Groupe de volumes comme type de ressource.

    Ajouter des groupes de volumes

  3. Entrez les informations obligatoires suivantes.

    • Groupe de volumes : sélectionnez le groupe de volumes.
  4. Sélectionnez Je comprends que je dois actualiser et vérifier tous les plans existants, puis cliquez sur Ajouter.

    Ajouter des groupes de volumes

Tâche 4 : ajouter un cluster OKE de secours aux groupes de protection de récupération après sinistre de secours

  1. Dans le DRPG de secours (DRPG_MUSHOP_AMS), sélectionnez Membres et cliquez sur Ajouter un membre.

    Ajouter un cluster OKE de secours

  2. Sélectionnez Cluster OKE comme type de ressource.

    Ajouter un cluster OKE de secours

  3. Entrez les informations obligatoires suivantes.

    • Cluster OKE : entrez un cluster OKE.
    • Sauvegarde : entrez les informations de sauvegarde.
      • Bucket de sauvegarde : sélectionnez un bucket.
    • Cluster OKE homologue : sélectionnez un cluster OKE homologue.
  4. Sélectionnez Je comprends que je dois actualiser et vérifier tous les plans existants, puis cliquez sur Ajouter.

    Ajouter un cluster OKE de secours

Tâche 5 : créer un plan d'exploration de début

  1. Dans le DRPG de secours (DRPG_MUSHOP_AMS), sélectionnez Plans et cliquez sur Créer un plan.

    Créer un plan d'analyse de début

  2. Entrez le nom du plan, sélectionnez Lancer l'analyse dans Type de plan et cliquez sur Créer.

    Créer un plan d'analyse de début

    Au bout de quelques minutes, le plan affiche l'état Actif.

    Créer un plan d'analyse de début

  3. Sélectionnez le plan créé pour voir son contenu.

    Créer un plan d'analyse de début

Tâche 6 : exécuter le plan d'exploration de début

  1. Sélectionnez le plan créé dans la tâche 5.

    Exécuter le plan d'exploration de début

  2. Sélectionnez Activer les prévérifications et cliquez sur Exécuter le plan.

    Exécuter le plan d'exploration de début

    Au bout de quelques minutes, tous les groupes afficheront l'état Succès.

    Exécuter le plan d'exploration de début

Tâche 7 : vérifier l'application en cours d'exécution sur le cluster OKE de secours

Connectez-vous au cluster OKE de secours et vérifiez si l'application est en cours d'exécution. Pour l'application MuShop, exécutez la commande suivante.

kubectel get all -n mushop

Vérifier l'application en cours d'exécution sur le cluster OKE de secours

Tâche 8 : créer un plan d'analyse d'arrêt

  1. Dans le DRPG de secours (DRPG_MUSHOP_AMS), sélectionnez Plans et cliquez sur Créer un plan.

    Créer un plan d'analyse d'arrêt

  2. Entrez le nom du plan, sélectionnez Lancer l'analyse dans Type de plan et cliquez sur Créer.

    Créer un plan d'analyse d'arrêt

    Au bout de quelques minutes, le plan affiche l'état Actif.

    Créer un plan d'analyse d'arrêt

Tâche 9 : exécuter le plan d'analyse d'arrêt

  1. Sélectionnez le plan créé dans la tâche 8.

    Exécuter le plan d'analyse d'arrêt

  2. Sélectionnez Activer les prévérifications et cliquez sur Exécuter le plan.

    Exécuter le plan d'analyse d'arrêt

    Au bout de quelques minutes, tous les groupes afficheront l'état Succuss.

    Exécuter le plan d'analyse d'arrêt

Tâche 10 : vérifier le nettoyage sur le cluster OKE de secours

Connectez-vous au cluster OKE de secours et vérifiez la liste des espaces de noms à l'aide de la commande suivante.

kubectl get namespaces

Vérifier le nettoyage sur le cluster OKE de secours

Etapes suivantes

Une fois que vous avez créé et exécuté les plans d'exploration, il est temps de créer un plan de permutation et un plan de basculement.

Il existe deux bonnes pratiques qui doivent être intégrées dans les opérations quotidiennes normales pour vous aider à vous assurer que vos plans de reprise après sinistre sont prêts.

Pensez à planifier des prévérifications hebdomadaires de tous les plans de récupération après sinistre du groupe de protection de récupération après sinistre de secours. Les prévérifications peuvent être exécutées à tout moment et n'ont aucun impact sur les charges globales de production. Cela garantit l'intégrité de vos plans de récupération après sinistre, la détection des ressources membres manquantes, des réseaux manquants, l'impossibilité de trouver les scripts attendus appelés par des étapes définies par l'utilisateur, etc.

Une autre façon très importante de valider la préparation de votre récupération après sinistre consiste à planifier des analyses DR périodiques une fois par mois ou par trimestre. Les analyses de récupération après sinistre n'ont également aucun impact sur les charges globales de production, mais vous permettent de valider la récupération des bases de données de calcul, de stockage, Oracle et des ensembles de back-ends pour les équilibreurs de charge de la région de secours en un seul clic. Pour plus d'informations, reportez-vous aux sections suivantes :

Remerciements

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.