Kyverno — это инструмент для управления политиками безопасности в Kubernetes. С его помощью вы можете задавать правила для приложений и ресурсов кластера и автоматически проверять их соблюдение.
Например, можно:
- настроить использование Docker-образов только от доверенных реестров;
- проверить подлинность и целостность Docker-образов перед развёртыванием с помощью цифровых подписей;
- запретить запуск контейнеров с повышенными привилегиями;
- ограничить доступ контейнеров к файловой системе узлов кластера;
- изолировать сетевой трафик между окружениями разных компаний;
- добавлять пользовательские сертификаты CA в контейнеры ELMA365.
Установка Kyverno состоит из двух этапов:
Этап 1. Установка сервиса Kyverno
Шаг 1. Скачивание Helm-чарта и конфигурационного файла
Для установки через интернет получите конфигурационный файл values-kyverno.yaml, выполнив команду:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/kyverno > values-kyverno.yaml
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет
helm repo add elma365 https://charts.elma365.tech Подробнее об этом читайте в статье «Загрузка образов ELMA365».
tar -xf kyverno-X.Y.Z.tgz |
Шаг 2. Установка чарта Kyverno с помощью Helm в Kubernetes-кластер
Выполните установку чарта Kyverno в пространство имён, созданное заранее. В данной статье — значение kyverno.
Для установки через интернет:
helm upgrade --install kyverno elma365/kyverno -f values-kyverno.yaml -n kyverno --create-namespace
Для офлайн-установки без доступа в интернет:
helm upgrade --install kyverno ./kyverno -f values-kyverno.yaml -n kyverno --create-namespace
# Настройки kyverno
|
Этап 2. Установка политик безопасности Kyverno
Политики безопасности поставляются в виде отдельного Helm-чарта kyverno-policies.
Шаг 1. Скачивание Helm-чарта политик безопасности
Для установки через интернет скачайте конфигурационный файл values-policies.yaml:
helm show values elma365/kyverno-policies > values-policies.yaml
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет
helm repo add elma365 https://charts.elma365.tech Подробнее об этом читайте в статье «Загрузка образов ELMA365».
tar -xf kyverno-policies-X.Y.Z.tgz
|
Шаг 2. Настройка политик безопасности
В конфигурационном файле values-policies.yaml включите необходимые политики и настройте их.
В таблице ниже вы можете ознакомиться с доступными политиками и перейти к их описанию.
Название |
Назначение |
Политика добавления пользовательских сертификатов CA в контейнеры ELMA365 |
Настроить автоматическое подключение тома с пользовательским сертификатом корневого CA к контейнерам ELMA365 с определённой меткой |
Проверить криптографические подписи Cosign для Docker-образов, чтобы подтвердить их подлинность и целостность перед развёртыванием |
|
Настроить запуск контейнеров только с образами из утверждённых реестров |
|
Ограничить сетевой трафик между компаниями с разными окружениями (Dev, Stage, Prod), сохраняя разрешённое взаимодействие с системными сервисами кластера |
|
Запретить запуск контейнеров, запрашивающих права суперпользователя на узле, чтобы снизить риск выдачи избыточных прав контейнеру |
|
Запретить контейнерам подключаться к файловой системе узла кластера |
Шаг 3. Установка чарта политик безопасности Kyverno
После настройки политик безопасности в файле values-policies.yaml установите чарт политик в пространство имён kyverno:
- для установки через интернет:
helm upgrade --install kyverno-policies elma365/kyverno-policies -f values-policies.yaml -n kyverno --create-namespace
- для офлайн-установки без доступа в интернет:
helm upgrade --install kyverno-policies ./kyverno-policies -f values-policies.yaml -n kyverno --create-namespace