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