Перевірка інʼєкції Sidecar Istio за допомогою Istioctl Check-Inject
istioctl experimental check-inject
— це діагностичний інструмент, який допомагає перевірити, чи конкретні вебхуки будуть виконувати інʼєкцію sidecar Istio у ваших podʼах. Використовуйте цей інструмент, щоб перевірити, чи конфігурація інʼєкції sidecar правильно застосована до живого кластера.
Швидкий старт
Щоб перевірити, чому інʼєкція sidecar Istio відбулася/не відбулася (або відбудеться/не відбудеться) для конкретного podʼа, запустіть:
$ istioctl experimental check-inject -n <namespace> <pod-name>
Для deployment, запустіть:
$ istioctl experimental check-inject -n <namespace> deploy/<deployment-name>
Або для пар міток:
$ istioctl experimental check-inject -n <namespace> -l <label-key>=<label-value>
Наприклад, якщо у вас є deployment з назвою httpbin
в просторі імен hello
та pod з назвою httpbin-1234
з міткою app=httpbin
, наступні команди еквівалентні:
$ istioctl experimental check-inject -n hello httpbin-1234
$ istioctl experimental check-inject -n hello deploy/httpbin
$ istioctl experimental check-inject -n hello -l app=httpbin
Приклад результатів:
WEBHOOK REVISION INJECTED REASON
istio-revision-tag-default default ✔ Namespace label istio-injection=enabled matches
istio-sidecar-injector-1-18 1-18 ✘ No matching namespace labels (istio.io/rev=1-18) or pod labels (istio.io/rev=1-18)
Якщо поле INJECTED
відмічено як ✔
, вебхук в цьому рядку виконає інʼєкцію, з вказанням причини, чому вебхук виконає інʼєкцію sidecar.
Якщо поле INJECTED
відмічено як ✘
, вебхук в цьому рядку не виконає інʼєкцію, і також буде вказана причину.
Можливі причини, чому вебхук не виконає інʼєкцію або інʼєкція матиме помилки:
Відсутність відповідних міток простору імен або podʼів: Переконайтеся, що правильні мітки встановлені на просторі імен або podʼі.
Відсутність відповідних міток простору імен або podʼів для конкретної версії: Встановіть правильні мітки, щоб відповідати бажаній версії Istio.
Мітка поду, що перешкоджає інʼєкції: Видаліть мітку або встановіть її на відповідне значення.
Мітка простору імен, що перешкоджає інʼєкції: Змініть мітку на відповідне значення.
Кілька вебхуків, що виконують інʼєкцію sidecar: Переконайтеся, що лише один вебхук увімкнено для інʼєкції або встановіть відповідні мітки на простір імен або pod, щоб націлити конкретний вебхук.