Aller au contenu principal

kube-linter

Overview

kube-linter, c'est l'outil de linting développé par StackRox (maintenant Red Hat) qui pense que déployer des YAML Kubernetes sans validation préalable, c'est de l'inconscience. Il analyse tes manifests K8s pour détecter les misconfigurations de sécurité, reliability, et performance avant qu'ils atteignent le cluster. Si tu veux shift-left ta sécurité K8s et éviter les déploiements foireux, c'est indispensable.

kube-linter utilise des rules configurables pour analyser les YAML Kubernetes : sécurité (containers privilégiés, missing security contexts), reliability (pas de resource limits), performance (anti-patterns). Intégration native CI/CD, output formats multiples, rules custom, et whitelist/ignore patterns.

kube-linter se distingue par sa rapidité (analyse statique pure), sa configurabilité (rules à la carte), et son focus shift-left (validation avant déploiement dans le pipeline).


Informations essentielles

PropriétéValeur
Site officielhttps://github.com/stackrox/kube-linter
Repositoryhttps://github.com/stackrox/kube-linter
LicenceApache 2.0
DéveloppeurRed Hat (ex-StackRox)
LangageGo
AnalyseStatique YAML

Cas d'usage typiques

  • Validation de manifests Kubernetes dans pipelines CI/CD (shift-left security)
  • Pre-commit hooks pour bloquer YAML mal configurés avant Git push
  • IDE integration pour feedback temps réel pendant développement
  • Policy enforcement avec checks automatisés sur Pull Requests
  • Audit de configurations existantes avec batch analysis de repos
  • Custom rules pour standards organisationnels spécifiques

Intégrations et écosystème

  • CI/CD : intégration native GitHub Actions, GitLab CI, Jenkins, etc.
  • IDE : plugins VS Code, IntelliJ pour linting temps réel
  • Git hooks : pre-commit, pre-push pour validation automatique
  • Output : JSON, sarif, plain text pour intégration downstream tools
  • Helm : support des charts Helm avec template rendering
  • Kustomize : analyse des outputs après kustomization

Avantages

  • Shift-left security : détection problèmes avant déploiement cluster
  • Performance : analyse statique ultra-rapide, pas de cluster requis
  • Configurable : rules à la carte, custom rules, whitelist patterns
  • CI/CD native : intégration parfaite pipelines et Git workflows
  • Multi-format : support YAML raw, Helm, Kustomize outputs
  • Zero dependencies : binaire unique, pas de setup complexe

Inconvénients et limitations

  • Static analysis only : ne détecte pas problèmes runtime ou interactions
  • Context limité : analyse fichiers individuellement, pas cluster-wide context
  • False positives : certaines rules peuvent ne pas s'appliquer selon contexte
  • Limited scope : focus sur manifests K8s, pas sur code application
  • Rule maintenance : custom rules nécessitent maintenance et expertise

Alternatives

  • Polaris : validation best practices avec dashboard (plus complet)
  • kubesec : focus sécurité uniquement (moins de rules)
  • OPA Conftest : plus flexible avec Rego mais plus complexe
  • kube-bench : audit cluster déployé (complémentaire)
  • Admission controllers : Kyverno/Gatekeeper pour runtime enforcement

Ressources