☸️ Выполняем проверку безопасности манифестов Kubernetes и чартов Helm с помощью Datree |

☸️ Выполняем проверку безопасности манифестов Kubernetes и чартов Helm с помощью Datree

Мануал

Datree – это утилита CLI с открытым исходным кодом, которая помогает администраторам Kubernetes разрабатывать политики, которым должна следовать команда.

Это помогает предотвратить ошибки в конфигурациях Kubernetes, которые могут привести к сбою кластеров в производстве.

Обычно Datreee работает путем автоматической проверки изменений кода на предмет нарушений правил и неправильной конфигурации.

При обнаружении нарушений/неправильной конфигурации выдается предупреждение, которое подсказывает разработчику, как исправить проблему.

Datree предлагает администраторам следующие преимущества:

  • Включите управление ограничениями: Осуществляйте управление ограничениями в специально отведенном месте по всей организации. Администраторы имеют все полномочия для управления системами.
  • Обеспечение ограничений политики при разработке: ограничения обеспечиваются до применения к кластеру. Разработчики получают раннее предупреждение о возникновении неправильной конфигурации. Они могут исправить ошибки до того, как код перейдет в прод.
  • Обучение передовым методам: Передовой опыт включает в себя: анализ, ограждение и защиту от всех возможных подводных камней в текущих и будущих сценариях использования. Datree поставляется со встроенными передовыми практиками Kubernetes, поэтому наблюдение со стороны человека не требуется.
  • Культура DevOps: Datree предоставляет механизмы, аналогичные другим инструментам разработки, такие как модульные тесты. Это делает его простым в использовании, поскольку разработчики знакомы с ними. Эти инструменты используются для развития культуры DevOps.

Начало работы.

Это руководство требует установки следующих пакетов.

### CentOS / RHEL ###
sudo yum -y install vim curl wget unzip

### Debian / Ubuntu ###
sudo apt update
sudo apt install -y vim curl wget unzip

### Fedora ###
sudo dnf -y install vim curl wget unzip

#1. Установка Datree

Установить Datree на системы Linux/macOS просто.

Все, что вам нужно сделать, это выполнить приведенную ниже команду:

curl https://get.datree.io | /bin/bash

Вывод исполнения:

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1736  100  1736    0     0  36936      0 --:--:-- --:--:-- --:--:-- 36936
Installing Datree...

[V] Downloaded Datree
[V] Finished Installation

 Usage: $ datree test ~/.datree/k8s-demo.yaml 
 Using Helm? => https://github.com/datreeio/helm-datree 
 Using Kustomize? => https://hub.datree.io/kustomize-support 
 Run 'datree completion -h' to learn how to generate shell autocompletions 

На Windows выполните следующую команду в Powershell для установки Datree:

iwr -useb https://get.datree.io/windows_install.ps1 | iex

Приведенные выше команды устанавливают последнюю версию Datree.

Существуют и другие варианты установки, например:

Использование Homebrew:

brew tap datreeio/datree
brew install datreeio/datree/datree

Используя Docker:

docker pull datree/datree

Подтвердите установку:

$ datree version
1.4.3

#2. Использование Datree для сканирования файлов манифеста Kubernetes

После установки вы можете легко использовать Datree для проверки безопасности манифестов Kubernetes.

Используется следующий синтаксис:

datree test [k8s-manifest-file]

Когда проверка запущена, она проходит через 3 основные стадии:

  • проверка YAML
  • проверка чартов Kubernetes
  • проверка политик Kubernetes.

Например, при выполнении проверки моего демонстрационного манифеста команда будет выглядеть следующим образом:

datree test ~/.datree/k8s-demo.yaml

Из вывода можно увидеть подробную информацию о нарушениях, имеющихся в манифесте.

Это дает администраторам необходимые указания по их устранению.

#3. Настройте свою политику

Каждая проверка политики Datree выполняется с использованием политики по умолчанию, которая включает 44 встроенных правила.

Чтобы настроить политику, необходимо вернуться к выполнению терминала и зарегистрироваться, нажав на ссылку, указанную в конце вывода.

+-----------------------------------+------------------------------------------------------+
| Enabled rules in policy “Default” | 21                                                   |
| Configs tested against policy     | 1                                                    |
| Total rules evaluated             | 21                                                   |
| Total rules skipped               | 0                                                    |
| Total rules failed                | 4                                                    |
| Total rules passed                | 17                                                   |
| See all rules in policy           | https://app.datree.io/login?t=bDNVK7Tg9ZSCN76pZPhmT7 |
+-----------------------------------+------------------------------------------------------+

Зарегистрируйтесь, предоставив необходимые учетные данные.

#4. Интегрируйте Datree в ваш CI

Чтобы иметь возможность поддерживать чистые и стабильные репозитории, вовремя предотвращая неправильную конфигурацию, вам необходимо выполнить интеграцию.

Поддерживаются следующие интеграции.

  • Плагин Kubectl
  • плагин Helm
  • Github actions
  • Git hooks
  • Pre-commit hook

Это руководство демонстрирует, как установить и использовать перечисленные ниже плагины:

Плагин Kubectl

Плагин Kubectl можно установить с помощью команды:

kubectl krew install datree

Синтаксис ниже используется для выполнения сканирования с помощью плагина kubectl-datree.

kubectl datree test [datree CLI args] -- [options]

Например, выполнение сканирования путем выборки всех ресурсов в тестовом пространстве имен и выполнение проверки политики:

kubectl datree test -- -n test

Плагин Helm

Этот плагин используется для проверки чартов на соответствие политике Datree.

Плагин можно установить с помощью команды:

helm plugin install https://github.com/datreeio/helm-datree

Чтобы обновить плагин, просто запустите:

helm plugin update datree

Удалите плагин с помощью команды:

helm plugin uninstall datree

Чтобы запустить проверку политики Datree на диаграммах Helm, выполните команду с приведенным ниже синтаксисом.

helm datree test [CHART_DIRECTORY]

Если вам нужно передать аргументы в ваш шаблон, добавьте — перед ними, как показано ниже:

helm datree test [CHART_DIRECTORY] -- --values values.yaml --set name=prod

Чтобы продемонстрировать, как использовать плагин, я создам образец чарта Helm, как показано ниже:

$ helm create buildachart
Creating buildachart

Теперь проведите тест:

helm datree test buildachart/templates/deployment.yaml

Чтобы интегрировать Datree в CI/CD, вы можете следовать приведенному ниже примеру. Вам необходимо выполнить следующие шаги:

  • Получите токен вашей учетной записи (его можно найти в дашборде разделе Settings).
  • Установите DATREE_TOKEN в качестве секретной переменной/переменной окружения
  • Добавьте Datree в ваш CI-скрипт, как показано в примере ниже:
version: 2.1
jobs:
  build:
    docker:
      - image: circleci/node
    steps:
      - checkout
      - run: npm run build
  test:
    docker:
      - image: circleci/node
    steps:
      - checkout
      - run: curl https://get.datree.io | /bin/bash
      - run: datree test ~/.datree/k8s-demo.yaml

workflows:
  main:
    jobs:
      - build
      - test

На этом мы завершаем руководство по выполнению проверки безопасности манифестов Kubernetes и чартов Helm с помощью Datree.

Мы можем согласиться с тем, что Datree можно использовать для предотвращения ошибок в конфигурациях Kubernetes, которые могут привести к отказу кластеров в проде.

☸️ Обновление ConfigMap и secrets без перезапуска пода в K8s

☸️ Перехват трафика контейнеров в Kubernetes

☸️ Как установить и настроить OWASP ZAP в Kubernetes или Docker

🐳 Docker, containerd и CRI-O: Углубленное сравнение

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий