Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Sauvegarder et restaurer Contrail Etcd

RÉSUMÉ Découvrez comment sauvegarder et restaurer la base de données Contrail etcd.

Dans la version 22.1, Contrail stocke ses données dans la base de données principale OpenShift etcd. Lorsque vous sauvegardez et restaurez la base de données etcd principale dans la version 22.1, vous sauvegardez et restaurez implicitement les données Contrail.

À partir de la version 22.2, Contrail stocke ses données dans sa propre base de données etcd. Utilisez les procédures décrites dans cette section pour sauvegarder et restaurer la base de données Contrail etcd.

Sauvegarder la base de données Contrail Etcd dans la version 22.2

Utilisez cet exemple de procédure dans la version 22.2 pour sauvegarder la base de données Contrail etcd. Dans la version 22.2, vous exécutez les commandes etcdctl dans les pods contrail-etcd eux-mêmes.

  1. Obtenez la liste des pods contrail-etcd.
    Prenez note des noms de pod et des adresses IP contrail-etcd. Vous ferez référence à ces noms et adresses IP à l’étape suivante.
  2. Sauvegardez la base de données etcd.
    1. Placez une coquille dans l’une des nacelles de traînée de condensation.
      Par exemple : contrail-etcd-xxx se trouve le pod etcd dans lequel vous voulez placer un shell.
    2. Sauvegardez la base de données etcd.
      Cet exemple enregistre la base de données dans / tmp/etcdbackup.db. <etcd-pod-ip> est l’adresse IP du pod et le est le <etcd-port> port sur lequel etcd écoute (par défaut, 12379).
  3. Copiez la base de données dans un emplacement sûr.
    Par exemple : contrail-etcd-xxx est le pod etcd dans lequel vous avez sauvegardé la base de données.

Sauvegarder la base de données Contrail Etcd dans la version 22.3

Utilisez cet exemple de procédure dans la version 22.3 pour sauvegarder la base de données Contrail etcd. Dans la version 22.3, vous exécutez des commandes etcdctl sur les nœuds du plan de contrôle.

  1. Installez etcdctl sur tous les noeuds du plan de contrôle.
    1. Connectez-vous à l’un des nœuds du plan de contrôle.
      Par exemple :
    2. Télécharger etcd. Cet exemple est téléchargé dans le répertoire /tmp.
    3. Décompressez et déplacez l’exécutable etcd dans un répertoire de votre chemin (par exemple /usr/local/bin).
    4. Vérifiez que vous avez installé etcd.
    5. Répétez l’opération sur tous les noeuds du plan de contrôle.
  2. Obtenez la liste des pods contrail-etcd.
    Notez les noms des pods contrail-etcd, les adresses IP et les nœuds sur lesquels ils s’exécutent. Vous aurez besoin de ces informations dans les prochaines étapes.
  3. Copiez les fichiers de certificat et de clé etcd des pods vers les nœuds du plan de contrôle.
    Nous exécutons kubectl sur les nœuds du plan de contrôle dans cette étape. Nous supposons que vous avez configuré kubeconfig sur les nœuds du plan de contrôle à son emplacement par défaut ( ~/ .kube/config).
    1. Choisissez un pod contrail-etcd (par exemple, contrail-etcd-0) et connectez-vous au nœud du plan de contrôle qui héberge ce pod.
    2. Copiez les fichiers de certificat et de clé de ce pod contrail-etcd vers le nœud du plan de contrôle d’hébergement.
      Dans cet exemple, nous copions les certificats et les fichiers de clés du pod contrail-etcd-0 vers des fichiers locaux sur ce nœud. Cette opération copie les fichiers de certificat et de clé du pod contrail-etcd-0 vers ca.crt, tls.crt et tls.key dans le répertoire actuel de ce nœud de plan de contrôle .
    3. Répétez l’opération pour chaque gousse contrail-etcd.
  4. Sauvegardez la base de données etcd sur l’un des noeuds du plan de contrôle. Vous n’avez besoin de sauvegarder la base de données que sur un seul nœud.
    1. Reconnectez-vous à l’un des noeuds du plan de contrôle.
    2. Sauvegardez la base de données etcd.
      Cet exemple enregistre la base de données dans / tmp/etcdbackup.db sur ce nœud de plan de contrôle. <etcd-pod-ip> est l’adresse IP du pod sur ce nœud et le est le <etcd-port> port sur lequel etcd écoute (par défaut, 12379).
  5. Copiez la base de données dans un emplacement sûr.

Restaurer la base de données Contrail Etcd dans la version 22.2

Utilisez cet exemple de procédure dans la version 22.2 pour restaurer la base de données Contrail etcd à partir d’un instantané.
  1. Copiez l’instantané dans tous les pods contrail-etcd.
    Répétez l’opération pour les autres gousses contrail-etcd.
  2. Restaurez l’instantané.
    1. Placez une coquille dans l’une des nacelles de traînée de condensation.
      Par exemple : contrail-etcd-xxx se trouve le pod etcd dans lequel vous voulez placer un shell.
    2. Restaurez la base de données etcd.
      Cela crée un répertoire .etcd sur le pod. où <contrail-etcd-xxx> est le nom du pod contrail-etcd dans lequel vous vous trouvez actuellement et <contrail-etcd-xxx-ip> est l’adresse IP de ce pod.<contrail-etcd-xxx> Le <contrail-etcd-yyy> et <contrail-etcd-zzz> se réfèrent aux autres pods contrail-etcd.
    3. Répétez l’opération pour les autres pods contrail-etcd, en remplaçant les --name valeurs et par le nom et --initial-advertise-peer-urls l’adresse IP du pod contrail-etcd respectifs.
  3. Copiez les données etcd enregistrées à partir des pods contrail-etcd vers leurs nœuds de plan de contrôle respectifs.
    1. SSH sur l’un des noeuds du plan de contrôle.
    2. Copiez le fichier contrail-etcd-xxx.etcd enregistré depuis le pod contrail-etcd respectif vers le nœud.
      Par exemple : where contrail-etcd-xxx est le nom du pod contrail-etcd sur le nœud du plan de contrôle auquel vous vous êtes connecté.
    3. Répétez l’opération pour les autres noeuds du plan de contrôle.
  4. Arrêtez les gousses de traînée de condensation.
    Cela définit les réplicas sur 0, ce qui arrête effectivement les pods.
  5. Remplacez les données contrail-etcd par les données de l’instantané.
    1. SSH sur l’un des noeuds du plan de contrôle.
    2. Remplacez les données.
      where contrail-etcd-xxx est le nom de l’espace Contrail-etcd sur le noeud du plan de contrôle auquel vous vous êtes connecté.
    3. Répétez l’opération pour les autres noeuds du plan de contrôle.
  6. Démarrez les pods contrail-etcd.
    Cela définit les réplicas sur 3, ce qui démarre effectivement les pods.
  7. Redémarrez l’apiserver et le contrôleur contrail-system.
    Supprimez tous les pods contrail-k8s-apiserver et contrail-k8s-controller. Ces pods redémarreront automatiquement.
  8. Redémarrez les routeurs virtuels.
    Supprimez tous les pods contrail-vrouter-masters et contrail-vrouter-nodes. Ces pods redémarreront automatiquement.
  9. Vérifiez que tous les pods sont en cours d’exécution.

Restauration de la base de données Contrail Etcd dans la version 22.3

Utilisez cet exemple de procédure dans la version 22.3 pour restaurer la base de données Contrail etcd à partir d’un instantané.
  1. Copiez l’instantané que vous souhaitez restaurer sur tous les nœuds du plan de contrôle.
    Les étapes ci-dessous supposent que vous avez copié l’instantané dans / tmp/etcdbackup.db sur tous les nœuds du plan de contrôle.
  2. Restaurez l’instantané.
    1. Connectez-vous à l’un des nœuds du plan de contrôle. Dans cet exemple, nous nous connectons au nœud du plan de contrôle qui héberge contrail-etcd-0.
    2. Restaurez la base de données etcd dans l’espace contrail-etcd-0 sur ce noeud de plan de contrôle.
      Cela crée un répertoire contrail-etcd-0.etcd sur le noeud. where --name=contrail-etcd-0 spécifie que cette commande restaure la base de données en contrail-etcd-0, --initial-cluster=... répertorie tous les membres contrail-etcd du cluster et fait référence à l’adresse IP et --initial-advertise-peer-urls=... au numéro de port sur lesquels le pod contrail-etcd-0 est à l’écoute.
    3. Répétez l’opération pour les autres pods contrail-etcd sur leurs noeuds de plan de contrôle respectifs, en remplaçant les --name valeurs et par le nom et --initial-advertise-peer-urls l’adresse IP du pod contrail-etcd respectifs.
  3. Arrêtez les gousses de traînée de condensation.
    Cela définit les réplicas sur 0, ce qui arrête effectivement les pods.
  4. Remplacez les données contrail-etcd par les données de l’instantané.
    1. SSH sur l’un des noeuds du plan de contrôle.
    2. Remplacez les données. N’oubliez pas que l’instantané est stocké dans le répertoire contrail-etcd-<xxx>.etcd.
      where contrail-etcd-xxx est le nom de l’espace Contrail-etcd sur le noeud du plan de contrôle auquel vous vous êtes connecté.
    3. Répétez l’opération pour les autres noeuds du plan de contrôle.
  5. Démarrez les pods contrail-etcd.
    Cela définit les réplicas sur 3, ce qui démarre effectivement les pods.
  6. Redémarrez l’apiserver et le contrôleur contrail-system.
    Supprimez tous les pods contrail-k8s-apiserver et contrail-k8s-controller. Ces pods redémarreront automatiquement.
  7. Redémarrez les routeurs virtuels.
    Supprimez tous les pods contrail-vrouter-masters et contrail-vrouter-nodes. Ces pods redémarreront automatiquement.
  8. Vérifiez que tous les pods sont en cours d’exécution.