Skip to content

Kubernetes & 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 PDF sur Cyberlearn
    • Nom du fichier: lab07-kubernetes-helm-{nom}.pdf
    • Délai: 1 semaine
  • Mettez tout votre travail sur une branche feature/lab07-kubernetes-helm et faites une merge request (MR) sur main en m'ajoutant comme reviewer
  • Ajoutez un lien vers le commit dans votre rapport

Tâches

Reprenez le projet HEIG-VD DevOps pour ce laboratoire.

Estimer son travail

  • Estimez le temps total nécessaire pour réaliser ce laboratoire
    • Découpez le travail en tâches pour faciliter l'estimation
  • A la fin du rapport, comparez le temps estimé avec le temps réellement passé:
    TâcheTemps estiméTemps réelCommentaire
    ...30m45m...
    ............
    Total2h1h30...

Limiter les ressources

Définissez les limites de ressources pour vos pods, par exemple:

  • 0.25 core de CPU
  • 512MiB de RAM

Question

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

Utiliser les ConfigMaps et Secrets

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

  • POSTGRES_USER : postgres
  • POSTGRES_DB : postgres

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

  • POSTGRES_PASSWORD : postgres

Utiliser les volumes

Créez un volume pour le pod postgres et montez-le dans le dossier /var/lib/postgresql/data.

Question

Pensez-vous que c'est 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 ?

Réponse

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

Créer un Helm chart

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

  • Créez un Helm chart pour votre application : helm create helm-chart
  • Suivez les instructions de la documentation
  • Modifiez le Helm chart pour déployer votre application

Références