Upgrade to Pro — share decks privately, control downloads, hide ads and more …

On-Demand CI/CD with Gitlab and Kubernetes

Julien Vey
November 05, 2020
32

On-Demand CI/CD with Gitlab and Kubernetes

Julien Vey

November 05, 2020
Tweet

Transcript

  1. 7 radios nationales 44 radio locales 4 formations musicales ~

    4200 salariés ~ 100 métiers différents ...
  2. 6 sites web 5 applications mobiles 49 millions de visites/mois

    53 millions de podcasts téléchargés/mois ...
  3. D’où nous venons Hooks Résultats des jobs Gitlab pour la

    gestion des repos git Jenkins pour les tests et les déploiements
  4. Pourquoi ça ne marchait pas Context Switching entre Gitlab et

    Jenkins Config Jenkins statique, pas de customisation L’équipe “CI/CD” en charge de tous les jobs Temps d’attente en “Queue” importants
  5. Là où on voulait aller Centraliser le code, la CI,

    les déploiements Laisser la main aux équipes sur leur workflow de mise en production Fournir les outils et non les process
  6. Le passage sur Kubernetes Gitlab Kubernetes Executor Runner A Runner

    B Runner ... Master Job Job Job Job Job Job Job Job Job Job Job Job Job
  7. Le passage sur Kubernetes Nodepool de Spot Instances Job Job

    Job Job Job Job Job Job Job Job Job Job Job Spot Spot Classic Classic
  8. Le passage sur Kubernetes En résumé Optimisation des coûts Réduction

    des délais d’attente (CI “illimitée”) Monitoring & Supervision Maintenabilité
  9. Sur Kubernetes, tout est conteneur docker build n’est pas adapté

    à ce modèle Build des images Docker La problématique du build
  10. Kaniko avec Gitlab Custom Executor docker build: stage: build tags:

    - executor:kaniko variables: DOCKERFILE: path/to/Dockerfile IMAGE_NAME: my-app script: - kaniko build
  11. Process vs Tools L’équipe CI/CD est responsable de l’outillage Les

    équipes de dev sont responsables de leur workflow de déploiement
  12. Métriques Fréquence de déploiement en production 10/jour avant, 50/jour aujourd’hui

    Temps de déploiement sur Kubernetes de 6 minutes à 20s Coût d’hébergement de la CI/CD 70% de gain annuels