Kubernetes Kyverno

Автором цієї сторінки є Guillaume

Визначення

Kyverno — це відкритий фреймворк управління політиками для Kubernetes, який дозволяє організаціям визначати, впроваджувати та перевіряти політики по всій їхній інфраструктурі Kubernetes. Він забезпечує масштабоване, розширюване та високо налаштовуване рішення для управління безпекою, відповідністю та управлінням кластерами Kubernetes.

Варіанти використання

Kyverno можна використовувати в різних випадках, включаючи:

  1. Впровадження мережевих політик: Kyverno можна використовувати для впровадження мережевих політик, таких як дозволення або блокування трафіку між подами або сервісами.

  2. Управління секретами: Kyverno можна використовувати для впровадження політик управління секретами, таких як вимога зберігати секрети у певному форматі або місці.

  3. Контроль доступу: Kyverno можна використовувати для впровадження політик контролю доступу, таких як вимога, щоб користувачі мали певні ролі або дозволи для доступу до певних ресурсів.

Приклад: ClusterPolicy та Policy

Припустимо, у нас є кластер Kubernetes з кількома просторами імен, і ми хочемо впровадити політику, яка вимагає, щоб усі поди в просторі імен default мали певну мітку.

ClusterPolicy

ClusterPolicy — це політика високого рівня, яка визначає загальний намір політики. У цьому випадку наша ClusterPolicy може виглядати так:

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

Коли под створюється в default просторі імен без мітки app: myapp, Kyverno заблокує запит і поверне повідомлення про помилку, вказуючи, що под не відповідає вимогам політики.

References

Last updated