Перевірка налаштувань вузла
Тест відповідності вузла
Тест відповідності вузла — це контейнеризований тестовий фреймворк, який надає системну перевірку та тестування функціональності для вузла. Тест перевіряє, чи вузол відповідає мінімальним вимогам Kubernetes; вузол, який успішно проходить тест, має відповідати вимогам для приєднання до кластера Kubernetes.
Передумови вузла
Для запуску тесту відповідності вузла вузол повинен відповідати тим же передумовам, що й стандартний вузол Kubernetes. Принаймні, на вузлі повинні бути встановлені наступні служби:
- Сумісні з CRI середовища виконання контейнерів, такі як Docker, containerd та CRI-O
- kubelet
Запуск тесту відповідності вузла
Для запуску тесту відповідності вузла виконайте наступні кроки:
Визначте значення параметра
--kubeconfig
для kubelet, наприклад:--kubeconfig=/var/lib/kubelet/config.yaml
. Оскільки тестовий фреймворк запускає локальну панель управління для тестування kubelet, використовуйтеhttp://localhost:8080
як URL API-сервера. Є ще деякі інші параметри командного рядка kubelet, які можна використовувати:--cloud-provider
: Якщо ви використовуєте--cloud-provider=gce
, ви повинні видалити прапорець для запуску тесту.
Запустіть тест відповідності вузла за допомогою команди:
# $CONFIG_DIR — це шлях до файлу маніфеста под вашого Kubelet. # $LOG_DIR — це шлях для виведення результатів тесту. sudo docker run -it --rm --privileged --net=host \ -v /:/rootfs -v $CONFIG_DIR:$CONFIG_DIR -v $LOG_DIR:/var/result \ registry.k8s.io/node-test:0.2
Запуск тесту відповідності вузла для інших архітектур
Kubernetes також надає образи Docker для тестування відповідності вузлів для інших архітектур:
Архітектура | Образи |
---|---|
amd64 | node-test-amd64 |
arm | node-test-arm |
arm64 | node-test-arm64 |
Запуск конкретних тестів
Щоб запустити конкретні тести, перезапишіть змінну середовища FOCUS
регулярним виразом тестів, які ви хочете запустити.
sudo docker run -it --rm --privileged --net=host \
-v /:/rootfs:ro -v $CONFIG_DIR:$CONFIG_DIR -v $LOG_DIR:/var/result \
-e FOCUS=MirrorPod \ # Запустити тільки тест MirrorPod
registry.k8s.io/node-test:0.2
Щоб пропустити певні тести, перезапишіть змінну середовища SKIP
регулярним виразом тестів, які ви хочете пропустити.
sudo docker run -it --rm --privileged --net=host \
-v /:/rootfs:ro -v $CONFIG_DIR:$CONFIG_DIR -v $LOG_DIR:/var/result \
-e SKIP=MirrorPod \
# Запустити всі тести відповідності, але пропустити тест MirrorPod
registry.k8s.io/node-test:0.2
Тест відповідності вузла — це контейнеризована версія e2e тесту вузла. Стандартно запускаються всі тести відповідності.
Теоретично ви можете запустити будь-який e2e тест вузла, якщо налаштуєте контейнер та правильно змонтуєте необхідні томи. Але настійно рекомендується виключно використовувати тести відповідності, оскільки для запуску тестів, що не є тестами відповідності, потрібна набагато складніша конфігурація.
Обмеження
- Тест залишає на вузлі деякі образи Docker, включаючи образ тесту відповідності вузла та образи контейнерів, що використовуються у функціональному тесту.
- Тест залишає на вузлі мертві контейнери. Ці контейнери створюються під час функціонального тесту.