Kubernetes Kyverno

Mwandishi wa awali wa ukurasa huu ni Guillaume

Mwelekeo

Kyverno ni mfumo wa usimamizi wa sera wa chanzo wazi kwa Kubernetes ambao unawawezesha mashirika kufafanua, kutekeleza, na kukagua sera katika miundombinu yao yote ya Kubernetes. Inatoa suluhisho linaloweza kupanuka, kupanuliwa, na kubadilishwa kwa urahisi kwa usimamizi wa usalama, utii, na utawala wa makundi ya Kubernetes.

Matumizi

Kyverno inaweza kutumika katika matumizi mbalimbali, ikiwa ni pamoja na:

  1. Utekelezaji wa Sera za Mtandao: Kyverno inaweza kutumika kutekeleza sera za mtandao, kama vile kuruhusu au kuzuia trafiki kati ya pods au huduma.

  2. Usimamizi wa Siri: Kyverno inaweza kutumika kutekeleza sera za usimamizi wa siri, kama vile kuhitaji siri kuhifadhiwa katika muundo au eneo maalum.

  3. Udhibiti wa Ufikiaji: Kyverno inaweza kutumika kutekeleza sera za udhibiti wa ufikiaji, kama vile kuhitaji watumiaji kuwa na majukumu au ruhusa maalum ili kufikia rasilimali fulani.

Mfano: ClusterPolicy na Sera

Hebu tuseme tuna kundi la Kubernetes lenye majina mengi, na tunataka kutekeleza sera inayohitaji pods zote katika jina la default kuwa na lebo maalum.

ClusterPolicy

ClusterPolicy ni sera ya kiwango cha juu inayofafanua nia ya jumla ya sera. Katika kesi hii, ClusterPolicy yetu inaweza kuonekana kama ifuatavyo:

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

Wakati pod inaundwa katika default namespace bila lebo app: myapp, Kyverno itazuia ombi na kurudisha ujumbe wa kosa unaoonyesha kwamba pod haikidhi mahitaji ya sera.

References

Last updated