Deckhouse Platform тестируется на соответствие набору Kubernetes conformance-тестов программы CNCF Certified Kubernetes Conformance Program. Для каждой указанной ниже минорной версии Kubernetes тесты запускаются с помощью Sonobuoy в режиме certified-conformance.

Приведённые ниже результаты conformance-тестов актуальны только при выключенном модуле multitenancy-manager.

Результаты тестирования

Соответствие требованиям CNCF Kubernetes (Sonobuoy)

В этом каталоге для каждой минорной версии Kubernetes хранятся артефакты сертификационного тестирования на соответствие требованиям: e2e.log и junit_01.xml, созданные Sonobuoy в режиме certified-conformance.

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


1. Подготовка кластера и Deckhouse

Разверните кластер с Deckhouse на целевой версии Kubernetes и убедитесь, что kubectl настроен для работы с ним.


2. Настройка RBAC и admission-контроля (необходимо для корректного запуска)

Pod Security Standards могут блокировать рабочие нагрузки, необходимые набору e2e-тестов. На время запуска ослабьте настройки Admission Policy Engine по умолчанию, чтобы ограничения безопасности не мешали выполнению тестов.

Примените следующую конфигурацию один раз (проверьте её перед применением в production-кластере):

kubectl apply -f - <<'EOF'
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: admission-policy-engine
spec:
  enabled: true
  settings:
    podSecurityStandards:
      defaultPolicy: Privileged
  version: 1
EOF

3. Установка CLI Sonobuoy

Скачайте нужную версию со страницы релизов Sonobuoy, распакуйте бинарный файл и добавьте его в PATH либо запускайте из каталога распаковки.

Пример для Linux amd64 (замените версию на необходимую):

curl -sL -o sonobuoy.tgz \
  'https://github.com/vmware-tanzu/sonobuoy/releases/download/v0.57.3/sonobuoy_0.57.3_linux_amd64.tar.gz'
tar -xzf sonobuoy.tgz sonobuoy
chmod +x sonobuoy

4. Запуск conformance-тестов

./sonobuoy run --mode=certified-conformance --kubeconfig=/etc/kubernetes/super-admin.conf

Дождитесь, пока команда ./sonobuoy status сообщит о состоянии completed. Для наблюдения за ходом выполнения проверяйте создание и удаление пространств имён: тесты запускаются в изолированных пространствах имён.

Обычно выполнение занимает около 2 часов.


5. Получение только e2e.log и junit_01.xml

На машине, где запускается CLI, выполните:

./sonobuoy retrieve . -f sb.tar.gz
tar -xzf sb.tar.gz \
  plugins/e2e/results/global/e2e.log \
  plugins/e2e/results/global/junit_01.xml

В результате будут получены файлы:

plugins/e2e/results/global/e2e.log
plugins/e2e/results/global/junit_01.xml

После завершения архив можно удалить: rm -f sb.tar.gz.

Дополнительные ресурсы