Kubernetes Kyverno

Originalni autor ove stranice je Guillaume

Definicija

Kyverno je open-source okvir za upravljanje politikama za Kubernetes koji omogućava organizacijama da definišu, sprovode i audituju politike širom svoje Kubernetes infrastrukture. Pruža skalabilno, proširivo i veoma prilagodljivo rešenje za upravljanje bezbednošću, usklađenošću i upravljanjem Kubernetes klasterima.

Upotrebe

Kyverno se može koristiti u raznim slučajevima, uključujući:

  1. Sprovođenje mrežnih politika: Kyverno se može koristiti za sprovođenje mrežnih politika, kao što su dozvoljavanje ili blokiranje saobraćaja između podova ili servisa.

  2. Upravljanje tajnama: Kyverno se može koristiti za sprovođenje politika upravljanja tajnama, kao što je zahtev da se tajne čuvaju u određenom formatu ili lokaciji.

  3. Kontrola pristupa: Kyverno se može koristiti za sprovođenje politika kontrole pristupa, kao što je zahtev da korisnici imaju određene uloge ili dozvole za pristup određenim resursima.

Primer: ClusterPolicy i Policy

Recimo da imamo Kubernetes klaster sa više prostora imena, i želimo da sprovedemo politiku koja zahteva da svi podovi u default prostoru imena imaju određenu oznaku.

ClusterPolicy

ClusterPolicy je politika na visokom nivou koja definiše ukupnu nameru politike. U ovom slučaju, naša ClusterPolicy bi mogla izgledati ovako:

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

Kada se pod kreira u default imenskom prostoru bez oznake app: myapp, Kyverno će blokirati zahtev i vratiti poruku o grešci koja ukazuje da pod ne ispunjava zahteve politike.

References

Last updated