Kubernetes Kyverno

Oryginalnym autorem tej strony jest Guillaume

Definicja

Kyverno to otwartoźródłowy framework zarządzania politykami dla Kubernetes, który umożliwia organizacjom definiowanie, egzekwowanie i audytowanie polityk w całej infrastrukturze Kubernetes. Oferuje skalowalne, rozszerzalne i wysoce konfigurowalne rozwiązanie do zarządzania bezpieczeństwem, zgodnością i zarządzaniem klastrami Kubernetes.

Przykłady użycia

Kyverno może być używane w różnych przypadkach użycia, w tym:

  1. Egzekwowanie polityki sieciowej: Kyverno może być używane do egzekwowania polityk sieciowych, takich jak zezwalanie lub blokowanie ruchu między podami lub usługami.

  2. Zarządzanie sekretami: Kyverno może być używane do egzekwowania polityk zarządzania sekretami, takich jak wymaganie, aby sekrety były przechowywane w określonym formacie lub lokalizacji.

  3. Kontrola dostępu: Kyverno może być używane do egzekwowania polityk kontroli dostępu, takich jak wymaganie, aby użytkownicy mieli określone role lub uprawnienia do uzyskania dostępu do określonych zasobów.

Przykład: ClusterPolicy i Policy

Załóżmy, że mamy klaster Kubernetes z wieloma przestrzeniami nazw i chcemy egzekwować politykę, która wymaga, aby wszystkie pody w przestrzeni nazw default miały określoną etykietę.

ClusterPolicy

ClusterPolicy to polityka na wysokim poziomie, która definiuje ogólny zamiar polityki. W tym przypadku nasza ClusterPolicy może wyglądać tak:

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

Kiedy pod jest tworzony w przestrzeni nazw default bez etykiety app: myapp, Kyverno zablokuje żądanie i zwróci komunikat o błędzie wskazujący, że pod nie spełnia wymagań polityki.

References

Last updated