# Перевірка налаштувань вузла

LLMS index: [llms.txt](/llms.txt)

---

## Тест відповідності вузла {#node-conformance-test}

*Тест відповідності вузла* — це контейнеризований тестовий фреймворк, який надає системну перевірку та тестування функціональності для вузла. Тест перевіряє, чи вузол відповідає мінімальним вимогам Kubernetes; вузол, який успішно проходить тест, має відповідати вимогам для приєднання до кластера Kubernetes.

## Передумови вузла {#node-prerequisite}

Для запуску тесту відповідності вузла вузол повинен відповідати тим же передумовам, що й стандартний вузол Kubernetes. Принаймні, на вузлі повинні бути встановлені наступні служби:

* Сумісні з CRI середовища виконання контейнерів, такі як Docker, containerd та CRI-O
* kubelet

## Запуск тесту відповідності вузла {#running-node-conformance-test}

Для запуску тесту відповідності вузла виконайте наступні кроки:

1. Визначте значення параметра `--kubeconfig` для kubelet, наприклад: `--kubeconfig=/var/lib/kubelet/config.yaml`. Оскільки тестовий фреймворк запускає локальну панель управління для тестування kubelet, використовуйте `http://localhost:8080` як URL API-сервера. Є ще деякі інші параметри командного рядка kubelet, які можна використовувати:
   * `--cloud-provider`: Якщо ви використовуєте `--cloud-provider=gce`, ви повинні видалити прапорець для запуску тесту.

2. Запустіть тест відповідності вузла за допомогою команди:

   ```shell
   # $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
   ```

## Запуск тесту відповідності вузла для інших архітектур {#running-node-conformance-test-for-other-architectures}

Kubernetes також надає образи Docker для тестування відповідності вузлів для інших архітектур:

| Архітектура  |        Образи            |
|--------------|:------------------------:|
|  amd64       |  node-test-amd64         |
|  arm         |   node-test-arm          |
| arm64        |  node-test-arm64         |

## Запуск конкретних тестів {#running-selected-test}

Щоб запустити конкретні тести, перезапишіть змінну середовища `FOCUS` регулярним виразом тестів, які ви хочете запустити.

```shell
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` регулярним виразом тестів, які ви хочете пропустити.

```shell
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 тесту вузла](https://github.com/kubernetes/community/blob/main/contributors/devel/sig-node/e2e-node-tests.md). Стандартно запускаються всі тести відповідності.

Теоретично ви можете запустити будь-який e2e тест вузла, якщо налаштуєте контейнер та правильно змонтуєте необхідні томи. Але **наполегливо рекомендується використовувати виключно тести відповідності**, оскільки для запуску тестів, що не є тестами відповідності, потрібна набагато складніша конфігурація.

## Обмеження {#caveats}

* Тест залишає на вузлі деякі образи Docker, включаючи образ тесту відповідності вузла та образи контейнерів, що використовуються у функціональному тесту.
* Тест залишає на вузлі мертві контейнери. Ці контейнери створюються під час функціонального тесту.
