Enoncé TP 5

/images/k8s.jpeg

TP5 : Secret & ConfigMap

🇫🇷 Version Française

Backend Configmap

Créér une ConfigMap pour rendre plus propre la gestion des variable d’environnement de notre backend.

Les variables misent en ConfigMap pourront être réutiliser par d’autres pods si besoin (partage du hostname de la bdd entre micro service par exemple).

La ConfigMap créé aura comme nom : back-configmap.

Remplacer toutes les variables d’environnements renseignées avant par une référence vers la ConfigMap.

MongoDb Secret

Créér un secret de type opaque pour mongo contenant le username et le password du user root que l’on va utiliser.

Modifier le deployment pour qu’il utilise ce secret via variable d’environnement.

Attention il va falloir supprimer entièrement votre base Mongo pour pouvoir initialiser un user root.

Le Secret créé aura comme nom : mongo-secret.

Mongo aura besoin de deux variable d’environnement :

  • MONGO_INITDB_ROOT_USERNAME
  • MONGO_INITDB_ROOT_PASSWORD

Backend Secret

Créér un Secret pour renseigné le username/password de la base de donnée, modifié plus tôt.

Comme pour les ConfigMap les variables misent en Secret pourront être réutiliser par d’autres pods si besoin (partage du username/password de la bdd entre micro service par exemple).

Le Secret créé aura comme nom : back-secret.

Notre backend va donc devoir etre modifié comme ceci :

  • Ajout de deux variables d’environnments:
    • MONGO_USERNAME
    • MONGO_PASSWORD
  • Modification de l’image pour passer de la version 1.0 à la version 1.1 (Avec authentification).

Verification

Une fois le deployment re-créer il faut voir apparaitre la log:

1Successfully added user: {
2 "user" : "Admin",
3 "roles" : [
4  {
5   "role" : "root",
6   "db" : "admin"
7  }
8 ]
9}

Elle signifie que le user admin s’est bien créer.

Après ça redémarrer les backends et vérifier que l’appli marche.

Note : n’utilisez pas le username root car c’est un mot clé reservé par mongo et ça ne créera pas de user.

🇬🇧 English version

Backend Configmap

Create a ConfigMap to make the management of environment variables in our backend cleaner.

The variables placed in ConfigMap can be reused by other pods if necessary (sharing the hostname of the database between micro services for example).

The ConfigMap created will have the name: back-configmap.

Replace all the environment variables used before with a reference to the ConfigMap.

MongoDb Secret

Create an opaque secret for mongo containing the username and password of the root user that we will use.

Modify the deployment to use this secret via environment variable.

Please note, you will have to completely delete your Mongo database to be able to initialize a root user.

The Secret created will have the name: mongo-secret.

Mongo will need these two environment variables:

  • MONGO_INITDB_ROOT_USERNAME
  • MONGO_INITDB_ROOT_PASSWORD

Backend Secret

Create a Secret to fill in the username/password of the database, modified earlier.

As with the ConfigMap, the variables set to Secret can be reused by other pods if necessary (sharing the database username/password between micro services for example).

The Secret created will have the name: back-secret.

Our backend will therefore have to be modified like this:

  • Added two environment variables:
    • MONGO_USERNAME
    • MONGO_PASSWORD
  • Modification of the image to go from version 1.0 to version 1.1 (With authentication).

Verification

Once the deployment is re-created, you should see the log appear in the pod:

1Successfully added user: {
2 "user" : "Root_User",
3 "roles" : [
4  {
5   "role" : "root",
6   "db" : "admin"
7  }
8 ]
9}

It means that the admin user has been created successfully.

After that, restart the backends and check that the app is working.

Note : do not use root as mongodb username because it’s a reserved keywork and it will not work.

Latest Posts