Comment upgrade Monogdb Community sur AKS
Comment
Nous allons voir ici comment faire une upgrade de Mongodb Community de 4.4.10 a 7.0.0 . Car j’avais beau chercher des heures, je n’avais rien trouver pour m’y aider, du coup autant aider ceux qui y auront affaire !
Mongodb Community
Partons d’un déploiement quoi de plus simple, avec un user et une base de donnée :
apiVersion: mongodbcommunity.mongodb.com/v1kind: MongoDBCommunitymetadata:name: my-mongonamespace: mongospec:additionalMongodConfig:storage.wiredTiger.engineConfig.journalCompressor: zlibmembers: 3security:authentication:ignoreUnknownUsers: truemodes:- SCRAMtls:enabled: falsestatefulSet:spec:template:spec:containers:- name: mongodresources:limits:cpu: '3'memory: 4Girequests:cpu: '2'memory: 2Gi- name: mongodb-agentresources:limits:cpu: '0.5'memory: 512Mrequests:cpu: '0.2'memory: 200Mtype: ReplicaSetusers:- name: admindb: adminscramCredentialsSecretName: my-scram-adminpasswordSecretRef:name: admin-passwordroles:- name: clusterAdmindb: admin- name: userAdminAnyDatabasedb: admin- name: dev-dbdb: dev-dbscramCredentialsSecretName: my-scram-devpasswordSecretRef:name: dev-db-passwordroles:- name: readWritedb: dev-dbversion: 4.4.10featureCompatibilityVersion: '4.4'Ici y a 2 scénarios : dans le premier, vous avez ça
featureCompatibilityVersiondans votreyamlet dans ce cas bravo, si non vous devez l’ajouter comme dans l’exemple au dessus.Acceder au pod
primary, puis connectez vous a la base de donné :Terminal window mongo -u admin -p PASSWORD --authenticationDatabase adminUne fois dans la base de donnée, passez ces commande :
Terminal window # passer en adminuse admin# Verifier le eatureCompatibilityVersiondb.adminCommand({getParameter: 1,featureCompatibilityVersion: 1})Si tout ce passe bien, vous devriez avoir un résultat qui dit :
Terminal window {"featureCompatibilityVersion" : {"version" : "4.4" # on est bien sur la bonne version},"ok" : 1,"$clusterTime" : {"clusterTime" : Timestamp(1692709763, 3),"signature" : {"hash" : BinData(0,"G2h/IOKY+TIMtryV9dDkEt2rlkw="),"keyId" : NumberLong("7263035781982191620")}},"operationTime" : Timestamp(1692709763, 3)}Si le résultat n’est pas le bon, passez juste cette commande puis tester a nouveau :
Terminal window db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )Maintenant que le
featureCompatibilityVersioncorrespand a la version de mongodb, vous pouvez faire l’upgrade. Pour ça suffit juste de changer les versions :version: 5.0.0featureCompatibilityVersion: '5.0'
NOTE IMPORTANTE : pour passer par exemple de la version 4.4.10 a la version 7.0.0, il faut obligatoirement passer par les
major releaseintermédiaire, c’est a dire : 4.4.10->5.0.0->6.0.9->7.0.0
- Attendre que tous les pods se redéploient, puis refaire l’étape 4 pour vérifier que la version de mongo correspend a la version
featureCompatibilityVersion, sinon refaire l’étape 6
NOTE IMPORTANTE : pour le
featureCompatibilityVersion, voilà les versions a utiliser :4.4,5.0,6.0et7.0.
Conclusion
Voilà, maintenant vous pouvez upgrade votre mongo sans avoir de problème de featureCompatibilityVersion.