Aller au contenu principal

Kubernetes & Helm

Objectifs​

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

Rendu​

  • GitHub Classroom : https://classroom.github.com/a/9bVolIk4
    • Rapport individuel en Markdown à rendre avant le prochain cours
    • Nom du fichier : report.md à la racine du répertoire
  • Devoir sur Cyberlearn : mettre le lien de la pull request GitLab dans le champ texte
  • Délai: 1 semaine

Tâches​

Reprenez le projet HEIG-VD DevOps pour ce laboratoire.

Estimer son travail​

  • Estimez le temps nécessaire pour réaliser ce laboratoire
    • Découpez le travail en tâches pour faciliter l'estimation
  • Lorsque vous aurez terminé le laboratoire, comparez le temps estimé avec le temps réellement passé
TâcheTemps estiméTemps réelCommentaire
Estimation10m15m...
............
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 ?

Solution

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

Question

Pourquoi ?

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

Créer un deuxième environnement​

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

  • POSTGRES_USER
  • POSTGRES_DB
  • POSTGRES_PASSWORD

Références​