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:
- Connectez-vous à votre serveur de gestion en tant qu'utilisateur privilégié et installez les outils nécessaires :
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
- Créez un fichier qui stocke les données d'accès au cluster et définissez-le comme variable système :
chat << EOF > testcluster.conf
EOF
echo "exporter KUBECONFIG=testcluster.conf" >> ~/.bashrc
- Pour vérifier la connexion, exécutez simplement :
Si la sortie ressemble à l'image ci-dessous - la connexion est réussie
- MongoDB a besoin de stockage pour enregistrer ses données. Le processus de création de stockage est décrit dans des fichiers de configuration spéciaux. Vous pouvez le personnaliser selon vos besoins :
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 :
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 -d # pour le déchiffrer
- Créez ensuite un fichier de déploiement d'instance :
chat << EOF > Deploy.yaml
apiVersion : applications/v1
genre : Déploiement
métadonnées :
Étiquettes:
application : mongo
nom : mongo
spec:
répliques: 1
sélecteur:
matchLabels :
application : mongo
stratégie: {}
modèle:
métadonnées :
Étiquettes:
application : mongo
spec:
conteneurs:
-image: mongo
nom : mongo
arguments : ["--dbpath","/data/db"]
vivacitéSonde :
exe :
commander:
-mongo
- --disableImplicitSessions
- --évaluation
état de préparation :
exe :
commander:
-mongo
- --disableImplicitSessions
- --évaluation
env :
- nom : MONGO_INITDB_ROOT_USERNAME
valeurDe :
secretKeyRef :
nom : crédits
clé : nom d'utilisateur
- nom : MONGO_INITDB_ROOT_PASSWORD
valeurDe :
secretKeyRef :
nom : crédits
clé : mot de passe
volumeMount :
- nom : "répertoire de données"
mountPath : "/data/db"
volumes:
- nom : "répertoire de données"
persistantVolumeClaim :
nom de revendication : "mongopvc"
EOF
- Pour lancer MongoDB, veuillez exécuter la commande :
Une sortie réussie ressemble à l'image ci-dessous :
Vérification de la connexion
- Maintenant que les instances sont déployées, vous devez vérifier la connexion. Exécutez simplement :
mongo
Si vous voyez l'invite MongoDB, la connexion est réussie :
- Pour créer une nouvelle base de données, il suffit de "basculer" vers la nouvelle base de données. REMARQUE : Les données ne seront pas enregistrées tant que vous n'aurez pas ajouté quelque chose dans la base de données :
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.