Table des matières

Qu'est-ce que KubeLinter ?

KubeLinter analyse les fichiers YAML et les Helm Charts de Kubernetes et les vérifie par rapport à diverses bonnes pratiques, en mettant l'accent sur la préparation à la production et la sécurité.

KubeLinter exécute des vérifications par défaut judicieuses, conçues pour fournir des informations utiles sur les fichiers YAML Kubernetes et vos Helm Charts. Utilisez-le pour vérifier au plus tôt et souvent les mauvaises configurations de sécurité et les meilleures pratiques.

Parmi les problèmes courants que KubeLinter identifie, citons l'exécution des conteneurs en tant qu'utilisateur non root, l'application du principe du moindre privilège et le stockage des informations sensibles uniquement dans des secrets.

KubeLinter est configurable, de sorte que vous pouvez activer et désactiver les contrôles et créer vos propres contrôles, en fonction des politiques que vous souhaitez suivre au sein de votre organisation. Lorsqu'un contrôle lint échoue, KubeLinter fournit également des recommandations pour résoudre les problèmes potentiels et renvoie un code de sortie non nul.

Attention:

KubeLinter est à un stade précoce de développement. Il est possible que des modifications soient apportées à l'avenir à l'utilisation des commandes, flags et aux formats des fichiers de configuration. Cependant, nous utiliserons KubeLinter pour tester nos fichiers YAML d'environnement.

Installation de KubeLinter

On télécharge la dernière version.

bastion:~$ curl -LO https://github.com/stackrox/kube-linter/releases/download/0.1.6/kube-linter-linux.tar.gz

On décompresse et on déplace l'archive dans “/usr/local/bin/”.

bastion:~$ tar xvzf kube-linter-linux.tar.gz
bastion:~$ chmod +x kube-linter
bastion:~$ mv kube-linter /usr/local/bin/kube-linter

On vérifie notre installation

bastion:~$ kube-linter version
0.1.6

Utilisation de KubeLinter

Nous pouvons exécuter KubeLinter à la fois localement et sur vos systèmes CI.

Le chemin d'accès au fichier yaml :

bastion:~$ kube-linter lint /path/to/yaml-file.yaml

Le chemin d'accès à un répertoire contenant les fichiers yaml :

bastion:~$ kube-linter lint /path/to/directory/containing/yaml-files/

Options

Afficher l'aide de kube-linter

bastion:~$ kube-linter [command]
 
Available Commands:
  checks      View more information on lint checks
  help        Help about any command
  lint        Lint Kubernetes YAML files and Helm charts
  templates   View more information on check templates
  version     Print version and exit
 
Flags:
  -h, --help   help for kube-linter
 
Use "kube-linter [command] --help" for more information about a command.

Annexe

https://github.com/stackrox/kube-linter

https://docs.kubelinter.io/