Note :

Automatiser les plans de permutation et de basculement pour le moteur Kubernetes OCI (avec état) avec la récupération après sinistre de pile complète OCI

Présentation

Oracle Cloud Infrastructure Full Stack Disaster Recovery (RD de pile complète OCI) orchestre la transition des services de calcul, de base de données et d'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 d'affaires sans repenser ou réorganiser l'infrastructure, les bases de données ou les 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 des charges de travail conteneurisées à grande échelle. OKE vous permet de créer, de gérer et d'utiliser rapidement des grappes Kubernetes qui tirent parti des services de calcul, de réseau et de stockage d'OCI sous-jacents.

Architecture de déploiement

Diagramme d'architecture

Objectifs

Les tâches suivantes seront traitées dans ce tutoriel.

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

Préalables

Tâche 1 : Créer un groupe dynamique et des politiques pour la récupération après sinistre de pile complète OKE et OCI

Ces politiques permettent au service de récupération après sinistre de pile complète OCI d'accéder au seau de stockage d'objets OCI pour charger la sauvegarde de configuration. La politique d'accès au seau de stockage d'objets OCI à partir de la grappe OKE dépend du type de grappe.

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

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

      All {instance.compartment.id = '<compartment_ocid>'}
      
    • Créez les politiques 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 politiques suivantes pour le groupe 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 politiques permettent aux pods s'exécutant dans l'espace de noms brie avec le compte de service brie-reader ou brie-creator de lire et d'écrire dans le seau de stockage d'objets OCI.

  3. Créez un groupe dynamique et des politiques pour l'instance de conteneur. Ces politiques permettent aux instances de conteneur d'exécution créées par le service de récupération après sinistre de pile complète OCI d'accéder à la grappe OKE et au seau de stockage d'objets OCI.

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

      All {resource.type='computecontainerinstance'}
      
    • Créez les politiques 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 politique pour l'hôte de saut.

    Si vous utilisez un hôte de saut, cette politique permet à la récupération après sinistre de pile complète OCI d'accéder à la grappe OKE et aux seaux de stockage d'objets OCI. Si l'hôte et la grappe de saut se trouvent dans le même compartiment, vous pouvez éviter les étapes de création d'un groupe dynamique et d'une politique pour fournir l'accès au seau de stockage d'objets OCI.

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

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

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

Note : Si vous n'incluez pas identity_domain_name avant dynamic-group, l'énoncé de politique est évalué comme si le groupe appartenait au domaine d'identité par défaut. Pour plus d'informations, voir Fonctionnement des politiques.

Tâche 2 : Ajouter une grappe OKE principale aux groupes de protection RS principaux

  1. Dans la passerelle DRPG principale (DRPG_MUSHOP_FRA), sélectionnez Membres et cliquez sur Ajouter un membre.

    Ajouter une grappe OKE principale

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

    Ajouter une grappe OKE principale

  3. Entrez les informations requises suivantes.

    • Grappe OKE : Entrez une grappe OKE.
    • Sauvegarde : Entrez les informations sur la sauvegarde.
      • Seau de sauvegarde : Sélectionnez un seau.
      • Sélectionnez Spécifier le programme de sauvegarde.
      • Type de calendrier : Entrez le type de calendrier.
      • Heure de début : Entrez l'heure de début en 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 (facultative) : Sélectionnez une image.
      • Espace de noms (facultatif) : Entrez l'espace de noms.
    • Grappe OKE pair : Sélectionnez une grappe OKE pair.
  4. Sélectionnez Je comprends que je dois actualiser et vérifier tous les plans existants et cliquez sur Ajouter.

    Ajouter une grappe OKE principale

Tâche 3 : Ajouter des groupes de volumes aux groupes de protection RS principaux

  1. Dans la passerelle DRPG principale (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 requises suivantes.

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

    Ajouter des groupes de volumes

Tâche 4 : Ajouter une grappe OKE de secours aux groupes de protection RS de secours

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

    Ajouter une grappe OKE de secours

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

    Ajouter une grappe OKE de secours

  3. Entrez les informations requises suivantes.

    • Grappe OKE : Entrez une grappe OKE.
    • Sauvegarde : Entrez les informations sur la sauvegarde.
      • Seau de sauvegarde : Sélectionnez un seau.
    • Grappe OKE pair : Sélectionnez une grappe OKE pair.
  4. Sélectionnez Je comprends que je dois actualiser et vérifier tous les plans existants et cliquez sur Ajouter.

    Ajouter une grappe OKE de secours

Tâche 5 : Créer un plan de forage de début

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

    Créer un plan de forage de début

  2. Entrez un nom pour le plan, sélectionnez Démarrer le forage comme Type de plan et cliquez sur Créer.

    Créer un plan de forage de début

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

    Créer un plan de forage de début

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

    Créer un plan de forage de début

Tâche 6 : Exécuter le plan de forage de début

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

    Exécuter le plan de forage de début

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

    Exécuter le plan de forage de début

    Après quelques minutes, tous les groupes afficheront l'état Réussite.

    Exécuter le plan de forage de début

Tâche 7 : Vérifier l'exécution de l'application sur la grappe OKE de secours

Connectez-vous à la grappe 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érifiez l'application en cours d'exécution sur la grappe OKE de secours

Tâche 8 : Créer un plan de forage d'arrêt

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

    Créer un plan de forage d'arrêt

  2. Entrez un nom pour le plan, sélectionnez Démarrer le forage comme Type de plan et cliquez sur Créer.

    Créer un plan de forage d'arrêt

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

    Créer un plan de forage d'arrêt

Tâche 9 : Exécuter le plan de forage Stop

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

    Exécuter le plan de forage d'arrêt

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

    Exécuter le plan de forage d'arrêt

    Après quelques minutes, tous les groupes afficheront l'état Succuss.

    Exécuter le plan de forage d'arrêt

Tâche 10 : Vérifier le nettoyage de la grappe OKE de secours

Connectez-vous à la grappe 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 de la grappe OKE de secours

Étapes suivantes

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

Deux pratiques exemplaires devraient être intégrées dans les opérations quotidiennes normales pour vous aider à assurer l'état de préparation de vos plans de reprise après sinistre.

Pensez à planifier des vérifications préalables hebdomadaires de tous les plans RS du groupe de protection RS de secours. Les vérifications préalables peuvent être exécutées à tout moment et n'ont aucune incidence sur les charges de travail de production. Cela vous aidera à assurer l'intégrité de vos plans de récupération après sinistre, à détecter les ressources de membre manquantes, les réseaux manquants, l'impossibilité de trouver les scripts attendus appelés par les étapes définies par l'utilisateur, etc.

Une autre façon très importante de valider l'état de préparation de votre reprise après sinistre est de programmer des exercices périodiques de récupération après sinistre une fois par mois ou par trimestre. Les forages de récupération après sinistre n'ont aucune incidence sur les charges de travail de production, mais vous permettent de valider la récupération des calculs, du stockage, des bases de données Oracle et des jeux dorsaux pour les équilibreurs de charge dans la région de secours en un clic. Pour plus d'informations, voir :

Confirmation

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.