Upgrade to PRO for Only $50/YearâLimited-Time Offer! đ„
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
On-Demand CI/CD with Gitlab and Kubernetes
Search
Julien Vey
November 05, 2020
0
40
On-Demand CI/CD with Gitlab and Kubernetes
Julien Vey
November 05, 2020
Tweet
Share
More Decks by Julien Vey
See All by Julien Vey
Du Dev Ă la Prod... et ensuite ?
julienvey
0
28
From CI to CD in a microservice architecture
julienvey
1
72
Terraform
julienvey
1
260
Microplugins with Docker
julienvey
5
970
OpenStack Solum Presentation
julienvey
0
130
Use OpenStack as a Vagrant Provider
julienvey
0
190
Docker and its Ecosystem
julienvey
8
1.3k
Introducing Solum: Application Development in OpenStack
julienvey
1
840
Docker, Get used to it !
julienvey
7
3.1k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Rails Girls ZĂŒrich Keynote
gr2m
95
14k
A better future with KSS
kneath
239
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
GitHub's CSS Performance
jonrohan
1032
470k
Producing Creativity
orderedlist
PRO
348
40k
Building Adaptive Systems
keathley
44
2.8k
How to Ace a Technical Interview
jacobian
280
24k
Fireside Chat
paigeccino
41
3.7k
Code Review Best Practice
trishagee
72
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Writing Fast Ruby
sferik
630
62k
Transcript
On-Demand CI/CD avec + Julien Vey -
Julien Vey Responsable Cloud & DevOps
7 radios nationales 44 radio locales 4 formations musicales ~
4200 salariés ~ 100 métiers différents ...
6 sites web 5 applications mobiles 49 millions de visites/mois
53 millions de podcasts téléchargés/mois ...
Frontend Assets Content Data Message Bus API Streaming API API
API API
API API API API API Message Bus
Une stack technique variée
+ CI/CD
DâoĂč nous venons Hooks RĂ©sultats des jobs Gitlab pour la
gestion des repos git Jenkins pour les tests et les déploiements
Pourquoi ça ne marchait pas Context Switching entre Gitlab et
Jenkins ConïŹg Jenkins statique, pas de customisation LâĂ©quipe âCI/CDâ en charge de tous les jobs Temps dâattente en âQueueâ importants
LĂ oĂč on voulait aller Centraliser le code, la CI,
les dĂ©ploiements Laisser la main aux Ă©quipes sur leur workïŹow de mise en production Fournir les outils et non les process
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
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
Le passage sur Kubernetes Intégration native avec Prometheus, Grafana, AlertManager
Le passage sur Kubernetes En résumé Optimisation des coûts Réduction
des dĂ©lais dâattente (CI âillimitĂ©eâ) Monitoring & Supervision MaintenabilitĂ©
ProblÚme suivant⊠build ?
Sur Kubernetes, tout est conteneur docker build nâest pas adaptĂ©
à ce modÚle Build des images Docker La problématique du build
Docker-in-Docker ? Gitlab Shell runner ? Kaniko ? Build des
images Docker Comment fait-on ?
Kaniko github.com/GoogleContainerTools/kaniko Construction dâimages docker âRootlessâ Pas besoin de daemon
docker Pas besoin dâĂȘtre root Peut tourner dans un pod kubernetes
Kaniko avec Gitlab Custom Executor docker build: stage: build tags:
- executor:kaniko variables: DOCKERFILE: path/to/Dockerfile IMAGE_NAME: my-app script: - kaniko build
OĂč en est-on aujourdâhui ?
Code + CI/CD Ă un seul endroit
Consommation â Ă la demande â
Consommation â Ă la demande â TrĂšs peu de âPending
Jobsâ gitlab
Process vs Tools LâĂ©quipe CI/CD est responsable de lâoutillage Les
Ă©quipes de dev sont responsables de leur workïŹow de dĂ©ploiement
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
Merci Questions ? Julien Vey -