# Kubernetes Kyverno

{{#include ../../../banners/hacktricks-training.md}}

**Die oorspronklike skrywer van hierdie bladsy is** [**Guillaume**](https://www.linkedin.com/in/guillaume-chapela-ab4b9a196)

## Definisie

Kyverno is 'n oopbron, beleidsbestuurraamwerk vir Kubernetes wat organisasies in staat stel om beleidsrigtings oor hul hele Kubernetes-infrastruktuur te definieer, af te dwing en te oudit. Dit bied 'n skaalbare, uitbreidbare en hoogs aanpasbare oplossing vir die bestuur van die sekuriteit, nakoming en bestuur van Kubernetes-klusters.

## Gebruik gevalle

Kyverno kan in 'n verskeidenheid gebruik gevalle gebruik word, insluitend:

1. **Netwerkbeleid Afdoening**: Kyverno kan gebruik word om netwerkbeleide af te dwing, soos om verkeer tussen pods of dienste toe te laat of te blokkeer.
2. **Geheimbestuur**: Kyverno kan gebruik word om geheimbestuursbeleide af te dwing, soos om te vereis dat geheime in 'n spesifieke formaat of ligging gestoor word.
3. **Toegangsbeheer**: Kyverno kan gebruik word om toegangsbeheerbeleide af te dwing, soos om te vereis dat gebruikers spesifieke rolle of toestemmings moet hê om toegang tot sekere hulpbronne te verkry.

## **Voorbeeld: ClusterPolicy en Beleid**

Kom ons sê ons het 'n Kubernetes-kluster met verskeie namespaces, en ons wil 'n beleid afdwing wat vereis dat alle pods in die `default` namespace 'n spesifieke etiket moet hê.

**ClusterPolicy**

'n ClusterPolicy is 'n hoëvlakbeleid wat die algehele beleidsintensie definieer. In hierdie geval kan ons ClusterPolicy soos volg lyk:
```yaml
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
```
Wanneer 'n pod in die `default` naamruimte geskep word sonder die etiket `app: myapp`, sal Kyverno die versoek blokkeer en 'n foutboodskap teruggee wat aandui dat die pod nie aan die beleidsvereistes voldoen nie.

## Verwysings

* [https://kyverno.io/](https://kyverno.io/)



{{#include ../../../banners/hacktricks-training.md}}
