07.06.2023

MongoDB sur Kubernetes

Introduction

Dans le Serverspace vous pouvez créer un serveur avec l'application déjà installée "MongoDB".
MongoDB est l'une des solutions de gestion de base de données NoSQL les plus populaires. En combinations avec Kubernetes Orchestrator, il pourrait s'agir d'une solution polyvalente facile à mettre à l'échelle.

Exigences

Pour travailler avec MongoDB dans Kubernetes vous avez besoin d'un serveur sous n'importe quel système d'exploitation (Linux avec accès root ou sudo de préférence) pour gérer et Kubernetes cluster (voir étape suivante).

Kubernetes création d'instances

Avant de déployer MongoDB, vous devez avoir Kubernetes. Pour le créer en ServerSpace infrastructure, connectez-vous simplement à votre clizone ent, puis click à Kubernetes lier et créer une instance :

Le processus peut prendre un certain temps, veuillez être patient. Une fois terminé, vous verrez le cluster parameters et devrait télécharger le fichier d'accréditation d'accès :

Configuration de l'instance

Pour installer le service de base de données sur votre Kubernetes cluster s'il vous plaît suivez:

Sudo -s
apt-get update && apt install curl apt-transport-https -y && curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && echo "deb https://apt.kubernetes.io / kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list && apt-get update && apt install kubectl -y

mkdir /usr/local/etc/mongo && cd /usr/local/etc/mongo
chat << EOF > testcluster.conf

EOF
echo "exporter KUBECONFIG=testcluster.conf" >> ~/.bashrc

informations sur le cluster kubectl

Si la sortie ressemble à l'image ci-dessous - la connexion est réussie

chat << EOF > PersistVolClaim.yaml
apiVersion: v1
genre : PersistentVolumeClaim
métadonnées :
name: mongodatapv # Devrait être le même avec le nom dans le fichier précédent
spec:
Modes d'accès :
- LireÉcrireUne fois
Ressources:
demandes :
stockage : 1Gi # Devrait être le même avec la capacité dans le fichier précédent
EOF

L'étape suivante consiste à créer un fichier d'informations d'identification, qui stocke l'accès à MongoDB :

chat << EOF > Creds.yaml
apiVersion: v1
données:
Nom d'utilisateur:
le mot de passe:
genre : secret
métadonnées :
creationTimestamp : null
nom : crédits
EOF

Conseil : Pour encoder et décoder les données, vous pouvez utiliser des commandes simples :

écho | base64 # pour chiffrer les données via l'outil base64
écho | base64 -d # pour le déchiffrer

kubectl appliquer -f

Une sortie réussie ressemble à l'image ci-dessous :

Vérification de la connexion

déploiement de kubectl exec/client -it -- /bin/bash
mongo

Si vous voyez l'invite MongoDB, la connexion est réussie :

 

utiliser NEW_DATABASE_NAME
db.createCollection("newdata") # exemple pour ajouter des données
show dbs # vérifier si la base de données existe

Conclusion

Après la lecture de cet article, vous avez su créer Kubernetes via ServerSpace client, déployez-y MongoDB, créez une nouvelle base de données et insérez de nouvelles données dans cette base.