Aller au contenu principal

Helm

Objectifs​

  • Estimer son travail
  • Utiliser les ConfigMaps et Secrets de Kubernetes
  • Utiliser les volumes de Kubernetes
  • Créer un Helm chart

Rendu​

  • Rapport individuel en Markdown à rendre avant le prochain cours
  • Délai: 1 semaine

Tâches​

Reprendre son projet GitLab DOP Python des laboratoires précédents.

Estimer son travail​

  • Estimer le temps nécessaire pour réaliser ce travail.
    • Découper le travail en tâches pour faciliter l'estimation.
  • Une fois terminé, comparer le temps estimé avec le temps réellement passé.
TâcheTemps estiméTemps passéCommentaire
Estimation10m15m...
............
Total2h1h30...

Limiter les ressources​

Définir les limites de ressources pour ses pods, par exemple :

  • 0.25 core de CPU
  • 512MiB de RAM
Question rapport

Quelle est la différence entre les limites et les requêtes de ressources ?

Utiliser les ConfigMaps et Secrets​

Utiliser une ConfigMap pour définir les variables d'environnement suivantes :

  • POSTGRES_USER : postgres
  • POSTGRES_DB : postgres

Utiliser un Secret pour définir les variables d'environnement suivantes :

  • POSTGRES_PASSWORD : postgres

Utiliser les volumes​

Créer un volume pour le pod postgres et le monter dans le dossier /var/lib/postgresql/data.

Question rapport

Est-ce une bonne idée de déployer une base de données avec Kubernetes ?

Configurer les stratégies de déploiement​

Quelles stratégies de déploiement sont disponibles dans Kubernetes ?

Quelle stratégie de déploiement devriez-vous utiliser pour chacun de vos déploiements ?

Solution

Préférer le RollingUpdate pour les applications web et le Recreate pour les bases de données.

Question rapport

Pourquoi ?

Créer un Helm chart​

Helm est un package manager pour Kubernetes, une façon de définir et de gérer les applications Kubernetes.

  • Créer un Helm chart pour son application : helm create helm-chart.
  • Suivre les instructions de la documentation.
  • Modifier le Helm chart pour déployer son application.

Créer un deuxième environnement​

Utiliser son Helm chart pour déployer une deuxième instance de son application dans un autre namespace en utilisant des valeurs différentes pour :

  • POSTGRES_USER
  • POSTGRES_DB
  • POSTGRES_PASSWORD

Références​