Migration de Docker Compose vers Kubernetes#
Migration de Docker Compose vers Kubernetes
Pour migrer Docker Compose vers Kubernetes, procédez comme suit :
-
Supprimez la base de données Mongo de Docker.
-
Accédez au shell du conteneur de base de données Mongo.
docker exec -it velocity_database_1 bash
-
Supprimez toutes les données de la base de données Mongo.
mongodump
-
Quittez le shell du conteneur de base de données Mongo.
exit
-
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.
-
-
Configuration de la base de données Mongo dans Kubernetes.
-
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
-
Ouvrez un shell dans le pod MongoDB.
kubectl exec -it --namespace default svc/velocity-mongo-mongodb /bin/bash
-
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>
-
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" }]})
-
Quittez le shell Mongo.
exit
-
-
Restaurez l'exportation de base de données dans le pod MongoDB.
-
Utilisez
kubectl get pods
pour obtenir tous les pods. Identifiez le pod MongoDB. -
Copiez le dossier de vidage de base de données dans le pod MongoDB.
kubectl cp <DUMP_LOCATION> <FULL_POD_NAME>:/tmp/dump
-
Accédez au shell du pod MongoDB.
kubectl exec -it --namespace default svc/velocity-mongo-mongodb /bin/bash
-
Remplacez le répertoire par le répertoire de vidage.
cd /tmp/dump
-
Répertoriez tous les dossiers MongoDB.
ls
Remarque : Chaque dossier est une base de données dans MongoDB.
-
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>
-
Quittez le shell du pod MongoDB.
exit
-
-
Configurez le certificat SSL.
-
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
-
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.
-
Appliquez le fichier
velocity-secret.yml
.kubectl apply -f velocity-secret.yml
-
-
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
-
Installez HCL Accelerate.
Avant de commencer, assurez-vous que le fichier
settings.json
est disponible dans le répertoire ~/.ucv.-
Run
le programme d'installation de Velocity. Tous les champs ont repris des informations desettings.json
.Sélectionnez la plateforme
kubernetes
pour générerHelm chart tgz
. -
Installez Velocity à l'aide de
Helm chart tgz
. -
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