Migration de Docker Compose vers Kubernetes#

Migration de Docker Compose vers Kubernetes

Pour migrer Docker Compose vers Kubernetes, procédez comme suit :

  1. Supprimez la base de données Mongo de Docker.

    1. Accédez au shell du conteneur de base de données Mongo.

      docker exec -it velocity_database_1 bash

    2. Supprimez toutes les données de la base de données Mongo.

      mongodump

    3. Quittez le shell du conteneur de base de données Mongo.

      exit

    4. Copiez le dossier de vidage en dehors du conteneur de base de données Mongo.

      docker cp velocity_database_1:/dump <DESTINATION>

      Remarque : Le dossier de vidage doit être restauré dans le pod mongodb.

  2. Configuration de la base de données Mongo dans Kubernetes.

    1. Installez la charte Helm MongoDB avec un mot de passe racine de votre choix.

      helm install --set mongodbRootPassword=<ROOT_PASSWORD> --name velocity-mongo stable/mongodb

    2. Ouvrez un shell dans le pod MongoDB.

      kubectl exec -it --namespace default svc/velocity-mongo-mongodb /bin/bash

    3. Ouvrez une session Shell Mongo avec le nom d'utilisateur racine et définissez le mot de passe.

      mongo admin -u root -p <ROOT_PASSWORD>

    4. Créez un nom d'utilisateur non root pour accéder à HCL™ Accelerate.

      db.createUser ({ user: "<NEW_USERNAME>", pwd: "<NEW_PASSWORD>", roles: [{role: "readWriteAnyDatabase", db: "admin"}, {role: "dbAdminAnyDatabase", db: "admin"}, {role: "clusterAdmin", db: "admin" }]})

    5. Quittez le shell Mongo.

      exit

  3. Restaurez l'exportation de base de données dans le pod MongoDB.

    1. Utilisez kubectl get pods pour obtenir tous les pods. Identifiez le pod MongoDB.

    2. Copiez le dossier de vidage de base de données dans le pod MongoDB.

      kubectl cp <DUMP_LOCATION> <FULL_POD_NAME>:/tmp/dump

    3. Accédez au shell du pod MongoDB.

      kubectl exec -it --namespace default svc/velocity-mongo-mongodb /bin/bash

    4. Remplacez le répertoire par le répertoire de vidage.

      cd /tmp/dump

    5. Répertoriez tous les dossiers MongoDB.

      ls

      Remarque : Chaque dossier est une base de données dans MongoDB.

    6. Restaurez toutes les bases de données sauf ADMIN

      mongorestore --uri="mongodb://<NEW_USERNAME>:<NEW_PASSWORD>@localhost:27017/?authSource=admin" <DB_NAME> -d <DB_NAME>

    7. Quittez le shell du pod MongoDB.

      exit

  4. Configurez le certificat SSL.

    1. Créez un fichier velocity-secret.yml file avec le contenu suivant.

      apiVersion: v1 data: tls.crt: <BASE64_CERT> tls.key: <BASE64_KEY> kind: Secret metadata: name: velocitytls namespace: default type: Opaque

    2. Chiffrez le certificat et les fichiers de clés.

      cat <FILE>.pem | base64

      Enregistrez le certificat et les fichiers de clés dans les dossiers requis.

    3. Appliquez le fichier velocity-secret.yml.

      kubectl apply -f velocity-secret.yml

  5. Configurez un objet Kubernetes Ingress.

    Appliquez les fichiers Ingress-Nginx.yml génériques et obligatoires.

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/mandatory.yaml

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/provider/cloud-generic.yaml

  6. Installez HCL Accelerate.

    Avant de commencer, assurez-vous que le fichier settings.json est disponible dans le répertoire ~/.ucv.

    1. Run le programme d'installation de Velocity. Tous les champs ont repris des informations de settings.json.

      Sélectionnez la plateforme kubernetes pour générer Helm chart tgz.

    2. Installez Velocity à l'aide de Helm chart tgz.

    3. Installez HCL Accelerate.

      helm install --set license=accept --set url.domain=<HOSTNAME> --set mongo.url=mongodb://<NEW_USERNAME>:<NEW_PASSWORD>@velocity-mongo-mongodb:27017/?authSource=admin --name velocity <VELOCITY_HELM_CHART>

Sujet parent : Migration