Kubernetes Kyverno

L'auteur original de cette page est Guillaume

Définition

Kyverno est un cadre de gestion des politiques open-source pour Kubernetes qui permet aux organisations de définir, d'appliquer et d'auditer des politiques à travers toute leur infrastructure Kubernetes. Il fournit une solution évolutive, extensible et hautement personnalisable pour gérer la sécurité, la conformité et la gouvernance des clusters Kubernetes.

Cas d'utilisation

Kyverno peut être utilisé dans une variété de cas d'utilisation, y compris :

  1. Application des politiques réseau : Kyverno peut être utilisé pour appliquer des politiques réseau, telles que permettre ou bloquer le trafic entre les pods ou les services.

  2. Gestion des secrets : Kyverno peut être utilisé pour appliquer des politiques de gestion des secrets, telles que l'exigence que les secrets soient stockés dans un format ou un emplacement spécifique.

  3. Contrôle d'accès : Kyverno peut être utilisé pour appliquer des politiques de contrôle d'accès, telles que l'exigence que les utilisateurs aient des rôles ou des autorisations spécifiques pour accéder à certaines ressources.

Exemple : ClusterPolicy et Policy

Disons que nous avons un cluster Kubernetes avec plusieurs espaces de noms, et nous voulons appliquer une politique qui exige que tous les pods dans l'espace de noms default aient une étiquette spécifique.

ClusterPolicy

Une ClusterPolicy est une politique de haut niveau qui définit l'intention générale de la politique. Dans ce cas, notre ClusterPolicy pourrait ressembler à ceci :

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: require-label
spec:
rules:
- validate:
message: "Pods in the default namespace must have the label 'app: myapp'"
match:
any:
- resources:
kinds:
- Pod
namespaceSelector:
matchLabels:
namespace: default
- any:
- resources:
kinds:
- Pod
namespaceSelector:
matchLabels:
namespace: default
validationFailureAction: enforce

Lorsque un pod est créé dans le namespace default sans l'étiquette app: myapp, Kyverno bloquera la demande et renverra un message d'erreur indiquant que le pod ne respecte pas les exigences de la politique.

Références

Last updated