Tekton
Overview
Tekton, c'est un framework CI/CD cloud-native qui pense que tout doit être standardisé et basé sur Kubernetes. Pas de compromis, pas de demi-mesure : tout est CRD Kubernetes, tout est déclaratif, tout est versionné. Il fonctionne avec des définitions déclaratives (CRD Kubernetes) que tu versionnes dans ton repo ou que tu appliques via kubectl. Tout est tracé, tout est intégré nativement avec l'écosystème Kubernetes.
La solution mise sur la standardisation, la réutilisabilité et l'interopérabilité des pipelines CI/CD. Tu as une architecture modulaire avec des Tasks et Pipelines réutilisables, une excellente intégration avec les outils GitOps (Argo CD, Flux) et une gouvernance ouverte via la Continuous Delivery Foundation (CDF).
C'est une des solutions CI/CD cloud-native les plus standardisées pour les environnements Kubernetes, surtout pour les organisations qui veulent une approche "Kubernetes-first" et une interopérabilité maximale.
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://tekton.dev/ |
| Licence | Apache 2.0 |
| Nationalité | États-Unis |
| Type | Framework CI/CD déclaratif (Kubernetes-native) |
| Déploiement | Kubernetes (self-hosted) |
| Difficulté | Intermédiaire à avancé |
| Technologies | Go |
TL;DR
Tekton, c'est pour ceux qui veulent une solution CI/CD standardisée, entièrement native Kubernetes, avec des composants réutilisables et une approche "Kubernetes-first" pour leurs pipelines. Tu as une architecture modulaire, une excellente intégration GitOps et une gouvernance ouverte. Le prix à payer : une courbe d'apprentissage plus élevée et une dépendance exclusive à Kubernetes. Si tu es déjà dans K8s et que tu aimes les standards, c'est un choix naturel.
Points clés à retenir :
- Pipelines déclaratifs via CRD Kubernetes, versionnés dans le dépôt comme du code normal.
- Architecture modulaire : Tasks et Pipelines réutilisables et composables, tu construis une fois, tu réutilises partout.
- Standardisation via la Continuous Delivery Foundation (CDF) : c'est du standard, pas du custom.
- Fonctionne uniquement sur Kubernetes (self-hosted), pas de compromis.
- L'intégration nécessite une compréhension approfondie de Kubernetes et des CRD : si tu ne connais pas K8s, passe ton chemin.
Compatibilité et intégrations
- Intégration native avec Kubernetes (CRD, pods, services, configmaps)
- Support de l'écosystème GitOps (Argo CD, Flux, Jenkins X)
- Fonctionne uniquement sur Kubernetes (self-hosted)
- Intégration avec les principaux SCM via Triggers (GitHub, GitLab, Bitbucket)
- Support des workflows cloud-native et GitOps standardisés
Avantages
- Pipelines déclaratifs via CRD Kubernetes, versionnés dans le dépôt comme du code normal
- Architecture modulaire avec Tasks et Pipelines réutilisables : tu construis une fois, tu réutilises partout
- Standardisation et gouvernance ouverte (CDF) : c'est du standard, pas du custom
- Excellent support pour les environnements Kubernetes cloud-native : comme si c'était fait pour
- Interopérabilité avec les outils GitOps et CI/CD : tout est connecté
Limites
- Il te faut un cluster Kubernetes, point. Pas de version cloud managée standalone, pas de compromis
- La courbe d'apprentissage est plus élevée : il faut bien connaître Kubernetes et les CRD, sinon tu vas galérer
- La configuration et le débogage peuvent être complexes pour les pipelines avancés, surtout si tu débutes
- Dépendance exclusive à Kubernetes : pas d'exécution en dehors de K8s, c'est tout ou rien
- Le temps de prise en main est plus élevé que les solutions CI/CD traditionnelles, mais une fois que c'est en place, c'est puissant
Ressources
- Documentation Tekton : https://tekton.dev/docs/
- Installation : https://tekton.dev/docs/getting-started/
- Exemples de pipelines : https://github.com/tektoncd/pipeline/tree/main/examples
- Repository GitHub : https://github.com/tektoncd/pipeline
- Bonnes pratiques : https://tekton.dev/docs/pipelines/pipelines/