


Déploiement et gestion MongoDB sur Kubernetes avec graphiques de barre
Sep 22, 2025 am 02:02 AMLe déploiement de MongoDB avec Helm peut simplifier la configuration, l'expansion et la maintenance dans les environnements Kubernetes; 2. Déployez une seule instance ou une seule réplique en un seul clic via Bitnami Helm Chart (set architecture = réplicaseT et réplicApount = 3); 3. Activer l'authentification (set auth.rootpassword), le stockage persistant (PVC) et les sauvegardes périodiques (telles que Mongodump ou Velero); 4. TLS, la surveillance (Prometheus) est requise dans l'environnement de production et utilise la mise à niveau du casque pour gérer la version.
Le déploiement et la gestion de MongoDB sur Kubernetes à l'aide de graphiques de barre est un moyen pratique de rationaliser la configuration, la mise à l'échelle et la maintenance, en particulier pour les environnements de développement ou de production où la cohérence et l'automatisation sont importantes. Voici comment le faire efficacement:

? Pourquoi utiliser le casque pour MongoDB?
Helm simplifie le déploiement MongoDB en emballant tous les manifestes de Kubernetes nécessaires (STATTATUSFULSETS, services, configmaps, etc.) dans un graphique réutilisable. Cela évite la gestion manuelle de YAML et assure la reproductibilité dans les environnements.
Options populaires:

- Bitnami MongoDB Helm Chart (le plus utilisé, activement entretenu)
- Charte communautaire officielle MongoDB (plus léger, plus personnalisé)
Nous nous concentrerons sur le graphique de Bitnami - il est prêt pour la production et bien documenté.
?Déploiement étape par étape
1. Ajouter le référentiel Bitnami Helm
Helm Repo Ajouter Bitnami https://charts.bitnami.com/bitnami HELM REPO MISE à JOUR
2. Déployer une seule instance MongoDB
Pour le développeur / test:

Helm Installer My-Mongo Bitnami / MongoDB
Cela crée:
- Un état (pour le stockage persistant)
- Service sans tête
- Secrets pour les informations d'identification (générés automatiquement sauf indication contraire)
? Conseil: définissez toujours un mot de passe personnalisé en production:
Helm Installer My-Mongo Bitnami / MongoDB \ --set auth.Rootpassword = SecurePassword123
3. Déployer un ensemble de répliques MongoDB (production recommandée)
HELM INSTALLER MY-Mongo-Replica Bitnami / MongoDB \ --set architecture = réplicaset \ --set auth.Rootpassword = SecurePassword123 \ --set ReplicAcount = 3
Cela vous donne:
- 3 gousses (2 secondes primaires)
- Réplique automatique d'initialisation de réglage
- Sondes de préparation / vivacité intégrées
? Gérer l'authentification et l'accès
Par défaut, Bitnami permet à Auth. Pour se connecter:
- Utilisez les informations d'identification générées à partir du secret de Kubernetes (
my-mongo-mongodb
ou similaire). - Connectez-vous via le nom du service à l'intérieur du cluster:
Mongodb: // root: SecurePassword123@my-Mongo-Mongodb.default.svc.cluster.local: 27017 /
Pour un accès externe, exposer via:
- Service LoadBalancer (fournisseurs de cloud)
- Entrée TLS (avec MongoDB sur TLS activé)
- Port Forward (pour le débogage):
Kubectl Port-Forward SVC / My-Mongo-MongoDB 27017: 27017
? Stockage et sauvegardes persistantes
- Chaque POD obtient un PVC (persistantVolumeClaim) par défaut.
- Pour les sauvegardes:
- Utilisez
mongodump
dans un travail de sidecar ou de cron - Ou intégrer avec des outils comme Velero pour les instantanés de volume
- Considérez MongoDB OPS Manager pour la sauvegarde / restauration de qualité d'entreprise
- Utilisez
Exemple d'extrait de travail de sauvegarde:
Apversion: Lot / V1 gentil: travail métadonnées: Nom: MongoDB-Backup SPEC: modèle: SPEC: conteneurs: - Nom: Mongo Image: Mongo: 6.0 Commande: ["Mongodump", "--host", "My-Mongo-MongoDB", "--out", "/ Backup"] VolumeMounts: - Nom: Storage de sauvegarde montpath: / sauvegarde Volumes: - Nom: Storage de sauvegarde persistantVolumeClaim: réclamation: sauvegarde-pvc restartpolicy: jamais
? Mise à niveau et gestion avec Helm
- Pour mettre à niveau (par exemple, modifier le nombre de répliques ou l'image):
HELM MODE MY-Mongo-Replica Bitnami / MongoDB \ --set ReplicAcount = 5
- Helm Tracks Release - Rollback facilement:
Helm Rollback My-Mongo-Replica 1
?? ATTENTION : Testez toujours les mises à niveau lors de la mise en scène d'abord - les modifications de topologie des répliques de MongoDB peuvent provoquer un bref temps d'arrêt s'il n'est pas manipulé avec soin.
? Résumé des meilleures pratiques
- ? Utiliser
architecture=replicaset
pour toute utilisation en production - ? Définissez des mots de passe forts via
auth.rootPassword
ou Kubernetes Secrets - ? Activer TLS pour la communication inter-n?uds et client
- ? Monitor avec l'exportateur de Prometheus Mongodb (le graphique Bitnami prend en charge cela)
- ? Sauvegarde régulièrement - ne comptez pas sur les PVC seuls
Le déploiement de MongoDB sur Kubernetes avec Helm n'est pas seulement une question de commodité - il s'agit de la maturité opérationnelle. Avec le graphique et la bonne configuration, vous obtenez une base de données résiliente et évolutive qui s'intègre proprement à votre pipeline Gitops ou CI / CD.
Fondamentalement, Helm fait que MongoDB sur K8 se sent moins comme des infrastructures et plus comme une application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
- ? Utiliser

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

UseProperIndexesOnQuery, Sult etProjectionFields, favorisant ComposonIndexeses de manière

Utilisez Node.js, Socket.io et MongoDB pour créer des applications de chat. Tout d'abord, créez une pile technologique et concevez un modèle de données pour les utilisateurs et les messages. Utilisez Mongoose pour définir le schéma et créer des indices pour améliorer l'efficacité de la requête. Ensuite, via Socket.io, les utilisateurs rejoignent la salle, envoient et re?oivent des messages en temps réel et chargent des messages historiques. Après avoir re?u le message, le serveur le dépose dans MongoDB et le pousse vers d'autres membres de la salle. Afin de prendre en charge l'historique des messages et l'expansion, utilisez la requête MongoDB pour trier les messages à l'heure pour obtenir des messages et chargez plus de contenu en combinaison avec la pagination ou le défilement infini. Il est recommandé que le service cloud de Mongodbatlas atteigne l'expansion et la sauvegarde automatique et définissent l'index TTL pour nettoyer automatiquement les messages expirés si nécessaire.

DesignAoundAccessSpatternsByusingAflexIblescheMaWithedDedDocuments pour la performance;

EfficientTorageInmongodbisachievevedhroughoptimizedschemadesign, corredixing et compression.UscompactschemaswithshortfieldNames et appropria.

ShardingIssentialForscalingmongodbwhendataExcedssings-ServercapacityOrthRoughputLimits, permettant à la manière

MongoDB prend en charge la correspondance des modèles à l'aide d'expressions régulières, qui est principalement implémentée via l'opérateur $ regex ou l'objet JavascripTregexp; 2. Utilisez db.users.find ({name: {$ regex: "John", $ options: "i"}}) pour trouver des documents dont le champ de nom contient "John" et est insensible au cas; 3. Vous pouvez également utiliser la syntaxe régulière JavaScript telle que db.users.find ({email: /.* \. Com $ / i}) pour faire correspondre les e-mails se terminant avec ".com"

MonitorKememetricslike OperationExecutiontime, QPS, PageFaults, Lockpercentage et ConnectionCountTodetectPorformanceIsUely.2.UseBuilt-IntoolsSuchasmongostat, Mongotop, DB.Currentop (), etdb.ServerStatus ()

CreateamongodbatlasAccountAndverifyyouremail, thensetupaproject.2.Buildafree-TierclusterOnapreferredCloudProviderandRegion.3.ConfigureSecurityByAddingAdatabaseUserAndallowingIpACCESS.4.ConnectusingTheConnectionSstinnyourapplication.
