Руководство по системному администрированию#

Термины и сокращения#

Термин/аббревиатура

Определение

Pod

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

Deployment

Набор инструкций для запуска приложения в Kubernetes

JSON

JavaScript Object Notation — текстовый формат обмена данными, основанный на JavaScript

YAML

Язык сериализация разметки

Checker

Компонент VALD, используемый для проверке уже существующих конфигурационных файлов

Walle

Компонент VALD, используемый для проверке загружаемых конфигурационных файлов

Граничный прокси (IGEG)

Компонент Граничный прокси продукта Platform V Synapse Service Mesh

Helm

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

Общие положения при администрировании компонента#

  1. Администрирование приложения администратором происходит в кластере Kubernetes, в том числе, посредством доступа к консоли Kubernetes.

  2. Для развертывания компонента VALD в Kubernetes администратору необходимы права на чтение и запись всех используемых Helm charts, а также возможность читать логи pods.

  3. Сетевая безопасность обеспечивается средствами контрольной панели (POLM), конфигурациями которых управляет POLM, и возлагается на администраторов АС, использующих компонент VALD.

Администратор в Kubernetes-кластере осуществляет:

  • конфигурирование IGEG (Ingress Gateway и Egress Gateway) в рамках первичной установки дистрибутива, разворачивая соответствующие конфигурации;

  • настройку мониторинга и просмотр метрик мониторинга;

  • обеспечение сетевой безопасности при использовании компонента;

  • отслеживание работоспособности pods.

Сценарии администрирования#

Программный компонент VALD, из состава программного продукта Platform V Synapse Service Mesh (SSM), не имеет собственного пользовательского интерфейса для администрирования. Все действия по управлению компонентом производятся с использованием интерфейсов, предоставляемых Платформой Kubernetes.

Настройка конфигурации проверки#

Настройка конфигурации проверки осуществляется путем редактирование файла config.json в ConfigMap.

  • С использованием веб-интерфейса Kubernetes.

Шаг

Действие

Вход в веб-консоль Kubernetes

1. Перейти по ссылке (URL) веб-консоли нужного кластера Kubernetes
2. Авторизуйтесь любым удобным для вас способом

Переход в нужный проект

Выбрать нужный проект можно в выпадающем списке в шапке веб-интерфейса Kubernetes

Отредактируйте файл конфигурации

1. В меню выберите пункт Workload/Config Maps
2. Отредактируйте файл для требуемого компонента VALD
walle-application-config/yaml/config.json для walle
checker-application-config/yaml/config.json для checker
обратите внимание файлы для walle и checker разные
3. Нажмите кнопку Save

Выход из веб-консоли Kubernetes

1. Нажмите по имени пользователя, чтобы раскрыть меню учетной записи
2. Выберите пункт Log out
3. Закройте окно браузера

  • Через CLI kubernetes (kubectl).

Шаг

Действие

Авторизация в Kubernetes

Загрузите «kubeConfig» от вашего «ServiceAccount». Заведите переменную KUBECONFIG=~/.kube/config , где располагается выгруженная конфигурация

Переход в нужный «Namespace»

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Редактирование конфигурационного файла

Локально отредактируйте и сохраните файл с конфигурацией (ConfigMap) для требуемого компонента VALD по шаблону:
walle-config-map.yaml для walle
checker-config-map.yaml для checker

Загрузка отредактированного конфигурационного файла

В консоли выполните команду:
kubectl apply -f .{путь до файла}

Запуск#

  • С использованием веб-интерфейса Kubernetes.

Шаг

Действие

Вход в веб-консоль Kubernetes

Перейти по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных ввести токен пользователя или «kubeconfig»

Переход в нужный проект

Выбрать нужный проект можно в выпадающем списке в шапке веб-интерфейса Kubernetes

Запуск Pod

1. В меню выберите пункт Workload/Deployments
2. На странице найдите нужный Deployment (можно использовать поиск по имени)
3. Нажмите ⋮ и выберите Scale
4. Задайте нужное количество Pods и нажмите Scale

Выход из веб-консоли Kubernetes

1. Нажмите по имени пользователя, чтобы раскрыть меню учетной записи.
2. Выберите пункт Log out
3. Закройте окно браузера

  • Через CLI kubernetes (kubectl).

Шаг

Действия

Описание

Вход в kubernetes

1. Загрузите «kubeConfig» от вашего «ServiceAccount»
2. Заведите переменную KUBECONFIG=~/.kube/config, где располагается выгруженная конфигурация

Переход в нужный «Namespace»

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Запуск приложения

В консоли выполните команду:
kubectl scale --replicas=<N> deployment/<имя деплоймента>

N>0 — требуемое количество запущенных Pods приложения

Остановка#

  • С использованием веб-интерфейса Kubernetes.

Шаг

Действие

Логин веб-консоль Kubernetes

Перейти по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных ввести токен пользователя или «kubeconfig».

Переход в нужный проект

Выбрать нужный проект можно в выпадающем списке в шапке веб-интерфейса Kubernetes.

Остановка компонента

Выполнить следующие действия:
1. В меню выбрать пункт Workload/Deployments
2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени);
3. Нажать ⋮ и выбрать Scale.
4. Уменьшить количество Pods до 0 и нажать Scale

Выход из веб-консоли Kubernetes

Выполнить следующие действия:
1. Кликом по иконке пользователя раскрыть меню
2. Выбрать пункт Sign out
3. Закрыть окно браузера

  • Через CLI kubernetes (kubectl).

Шаг

Действия

Авторизация в Kubernetes

1. Загрузите «kubeConfig» от вашего «ServiceAccount»
2. Заведите переменную KUBECONFIG=~/.kube/config ,где располагается выгруженная конфигурация

Переход в нужный «Namespace»

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Остановка приложения

В консоли выполнить команду:
kubectl scale --replicas=0 deployment/<имя deployment>

Проверка работоспособности#

  • С использованием веб-интерфейса Kubernetes.

Шаг

Действие

Вход в веб-консоль Kubernetes

Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig

Переход в нужный проект

Выберите другой проект в выпадающем списке в шапке веб-интерфейса Kubernetes, который подпадает под валидацию загружаемых конфигураций

Создайте конфигурационный файл

Создайте любой заведомо не верный конфигурационный файл с ошибкой из пункта Описание кодов ошибок и сохраните его через веб-интерфейс Kubernetes

Сравните ошибку

Сравните ошибку, отобразившеюся в веб-интерфейс Kubernetes, с ожидаемым результатом

Проверьте логи pod

1. Перейдите Workload/Deployments проекта компонента VALD
2. Перейдите в нужный Deployments компонента VALD
3. Перейдите во вкладку Pods
4. Перейдите во вкладку Logs
5. Проверьте отсутствие ошибок

  • Через CLI kubernetes (kubectl).

Шаг

Действия

Авторизация в Kubernetes

1.Загрузите «kubeConfig» от вашего «ServiceAccount»
2. Заведите переменную KUBECONFIG=~/.kube/config, где располагается выгруженная конфигурация

Переход в нужный «Namespace»

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта подлежащий проверке>

Создайте конфигурационный файл

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

Загрузите конфигурационный файл

В консоли выполните команду:
kubectl apply -f .{путь до файла с ошибкой}

Сравните ошибку

Сравните ошибку, отобразившеюся в консоли, с ожидаемой

Проверьте логи pod

1. Выполните команду:
kubectl config set-context --current --namespace=<имя вашего проекта VALD>
2. Выполните команду:
kubectl logs <имя pod компонента VALD>
3. Проверьте отсутствие ошибок в pod

Изменение количества Pods#

  • С использованием веб-интерфейса Kubernetes.

Шаг

Действие

Вход в веб-консоль Kubernetes

1. Перейти по ссылке (URL) веб-консоли нужного кластера Kubernetes
2. В окне ввода учетных данных ввести токен пользователя или «kubeconfig»

Переход в нужный проект

Выбрать нужный проект можно в выпадающем списке в шапке веб-интерфейса Kubernetes

Запуск Pod

1. В меню выберите пункт Workload/Deployments
2. На странице найдите нужный Deployment (доступен поиск по имени)
3. Нажать ⋮ и выбрать Scale
4. Задать нужное количество Pods и нажать Scale

Выход из веб-консоли Kubernetes

1. Нажмите по имени пользователя, чтобы раскрыть меню учетной записи
2. Выберите пункт Log out
3. Закройте окно браузера

  • Через CLI kubernetes (kubectl).

Шаг

Действия

Описание

Увеличить/уменьшить количество Pods

В консоли выполнить команду: kubectl scale --replicas=<N> deployment/<имя деплоймента>

Выгрузка системных логов#

  • С использованием веб-интерфейса Kubernetes.

Шаг

Действие

Вход в веб-консоль Kubernetes

Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes
2. В окне ввода учетных данных введите токен пользователя или kubeconfig

Переход в нужный проект

Выберите нужный проект, можно в выпадающем списке в шапке веб-интерфейса Kubernetes

Выгрузить лог

1. В меню выберите пункт Workload/Pods
2. На странице найдите нужный Pod (доступен поиск по имени).
3. Нажмите ⋮ и выберите Logs ;
4. Задайте в верхней панели имя контейнера (Logs from <имя контейнера> in <имя Pod>)

Выход из веб-консоли Kubernetes

1. Выберите имя пользователя, чтобы раскрыть меню учетной записи
2. Выберите пункт Log out
3. Закройте окно браузера

  • Через CLI kubernetes (kubectl).

Шаг

Действия

Выгрузить лог

В консоли выполнить команду: kubectl logs -c <имя контейнера> <имя Pod> > <имя файла>.txt, где <имя контейнера> может быть названием контейнера приложения шлюза или контейнера

События системного журнала#

Системный лог выводится в консоль контейнера приложения. Также есть возможность использования логов с контейнера «fluent-bit». Все события, собираемые компонентом во время работы, публикуются в компоненте Журналирование (LOGA) продукта Platform V Monitor (OPM), далее по тексту – Журналирование. Настройки интеграции с компонентом описаны в разделе «Интеграция с внешними системами». События регистрируются в формате json. Журнал регистрации событий располагается в АРМ сервиса Журналирование (LOGA) продукта Platform V Monitor (OPM). Местоположение АРМ сервиса Журналирования необходимо уточнять у администраторов сред. Изменение уровня логирования не предусмотрено.

Пример вывода логов#

  • Успешно:
    2023/01/12 02:52:00 ApiVersion = Deployment, Namespace = test-namespace, Name = test-namespace-deolayment, UID = 9f660d35-26b9-475e-a1d8-5602447159c2, patchOperation = CREATE
    0.00 seconds | Allowed

  • Валидация пройдена c предупреждением:
    2022/12/28 13:31:22 ApiVersion = Deployment, Namespace = test-namespace, Name = test-namespace-deolayment, UID = 0dfc9ada-a066-4481-bf3a-e84ee5059014, patchOperation = CREATE
    Warning: Prefix of app and istio matchLabels value must be as mask ingressgateway-*/egressgateway-*/igw-*/egw-*. Code 701 Prefix of app and istio matchLabels value must be as mask ingressgateway-*/egressgateway-*/igw-*/egw-*. Code 701;

  • Валидация не пройдена:
    2022/12/30 11:52:18 ApiVersion = ServiceEntry, Namespace = test-namespace, Name = test-se, UID = e55e8be5-2823-4df5-8a86-da5e145568da, patchOperation = CREATE
    Error configuration with resolution. Resolution with a value 'NONE' is prohibited. Use another resolution type.
    0.00 seconds | Denied with code: 214

  • Формат: <год/месяц/день чч:мм:сс> ApiVersion = <имя kind>, Namespace = <имя namespace>, Name = <имя конфигурационного файла>, UID = <uid>,  patchOperation = <имя операции> 
    <cc.ms> seconds | <результат валидации>

Часто встречающиеся проблемы и пути их устранения#

Проблема

Причина

Решение

Не стартует Pod приложения

Недостаточно ресурсов

Увеличить limits/requests для приложения

Не стартует Pod приложения

Нет доступной node для запуска

Зарегистрировать обращение в поддержку инфраструктуры

Не стартует Pod приложения

Ошибка в конфигурации

Выгрузить лог, провести анализ, скорректировать конфигурацию

Частый перезапуск контейнера приложения

Медленная загрузка приложения

Увеличить задержку и/или интервал опроса Liveness пробы

Частый перезапуск контейнера приложения

Недостаточно ресурсов

Увеличить limits/requests для приложения

Компонент VALD (checker/walle) не видет KubeAPI

Недостаточно прав у сервис аккаунта компонента

Повысить права сервис аккаунта компонента

Запрос конфигурационного файла не преходит в компонент walle

Не верно настроен ValidatingWebhookConfiguration_RHSM ValidatingWebhookConfiguration ISE

Произвести настройку ValidatingWebhookConfiguration_RHSM ValidatingWebhookConfiguration ISE

Запрос конфигурационного файла не валидируется компонентом walle

Не указана валидация данного проекта в walle-config-map.yaml

Произвести настройку walle-config-map.yaml

Описание кодов ошибок#

Ошибки в VirtualService (0-99)

Если конфигурационные файлы инсталлируются через pipeline и при этом выводится ошибка с кодом: 17, 21, 23, то необходимо проверить порядок установки конфигурационных файлов в настройках данной job (возможно ошибка выводится из-за неправильного порядка). При установке конфигурационных файлов с помощью pipeline, обязательным условием в этой job является развертывание ServiceEntry перед установкой VirtualService.

Код

Описание

примечание

1

В вашем VirtualService отсутствует поле spec.ExportTo, укажите его

v актуально для istio-se 1.17 и ниже

2

Значение поля spec.ExportTo указано не '.', поставьте значение в '.', как указано в описании кода ошибки 1

v актуально для istio-se 1.17 и ниже

3

Проверка схемой не прошла успешно. Проверьте правила по VS относящиеся к полям "hosts" и наличие "ExportTo"

v актуально для istio-se 1.17 и ниже

4

Проблема преобразовать в класс VS. Стоит проверить, все ли поля могу быть в VS

v актуально для istio-se 1.17 и ниже

5

Ошибка - в Virtual Service указано "*" в поле hosts. Измените данное значение

v актуально для istio-se 1.17 и ниже

12

Ошибка при проверке портов в добавляемом/обновляемом VirtualService. В VirtualService в разделе hosts указано больше, чем один хост

! это правило не работает вообще TODO

13

Ошибка при проверке портов в добавляемом/обновляемом VirtualService. Внутренний и внешний порт имеют одинаковое значение (ошибка при проверке других VirtualService)

v актуально для istio-se 1.17 и ниже, относится только к tcp

14

Ошибка при проверке портов в добавляемом/обновляемом VirtualService. Внутренний и внешний порт имеют одинаковое значение (ошибка при проверке внутри добавляемого/обновляемого VS)

v актуально для istio-se 1.17 и ниже, относится только к tcp

15

Ошибка при проверке портов в добавляемом/обновляемом VirtualService. Внутренний порт не найден. Проверьте наличие внутреннего порта в ServiceEntry

v актуально для istio-se 1.17 и ниже, относится только к tcp

16

Ошибка при проверке портов в добавляемом/обновляемом VirtualService. Внутренний порт не уникален. Измените номер порта

v актуально для istio-se 1.17 и ниже, относится только к tcp

17

Ошибка при проверке портов в добавляемом/обновляемом VirtualService. Внутренний порт не указан в Service Entry. Добавьте внутренний порт в ServiceEntry. Обратите внимание на замечание ниже

v актуально для istio-se 1.17 и ниже, относится только к tcp

18

Ошибка при проверке портов в других VirtualService. В VirtualService в разделе hosts указано больше, чем один хост

! это правило не работает вообще TODO

19

Ошибка при проверке портов в других VirtualService. Внутренний и внешний порт имеют одинаковое значение (ошибка при проверке других VirtualService)

v актуально для istio-se 1.17 и ниже, относится только к tcp

20

Ошибка при проверке портов в других VirtualService. Внутренний и внешний порт имеют одинаковое значение (ошибка при проверке внутри добавляемого/обновляемого VirtualService)

v актуально для istio-se 1.17 и ниже, относится только к tcp

21

Ошибка при проверке портов в других VirtualService. Внутренний порт не найден. Проверьте наличие внутреннего порта в ServiceEntry. Обратите внимание на замечание ниже

v актуально для istio-se 1.17 и ниже, относится только к tcp

22

Ошибка при проверке портов в других VirtualService. Внутренний порт не уникален. Измените номер порта

v актуально для istio-se 1.17 и ниже, относится только к tcp

23

Ошибка при проверке портов в других VirtualService. Внутренний порт не указан в Service Entry. Добавьте внутренний порт в ServiceEntry. Обратите внимание на замечание ниже

v актуально для istio-se 1.17 и ниже, относится только к tcp

26

Ошибка в том, что порт в match для tcp трафика не уникальный. Измените порт

! это правило не работает вообще TODO

33

Порт на egress не уникален для разного tcp трафика. Чтобы исправить ошибку, замените номер порта на свободный

v актуально для istio-se 1.17 и ниже, относится только к tcp

34

Дублируется маршрутизация трафика через егресс в другом VirtualService. Оставьте это правило маршрутизации только в одном месте

v актуально для istio-se 1.17 и ниже

36

Не удалось подгрузить конфигурационные файлы из кэша, требуемые для проверки данного файла. Попробуйте загрузить файл еще раз, возможно, KubeApiServer перегружен. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

37

Ошибка, маска значения поля hosts должна совпадать со всеми hosts этого gateway

v актуально для istio-se 1.17 и ниже

38

Требуется удалить лейблы из VirtualService (app.kubernetes.io/managed-by=maistra-istio-operator, maistra.io/<любое значение>)

требуется только там где присутствуют RHSM

39

В Virtual Service указан параметр perTryTimeout, если необходимо использовать этот параметр нужно согласовать исключение для своего проекта, так как его использование ведет к неявным ошибкам диагноза разрыва коннекта

v актуально

Ошибки в EnvoyFilter (100-199)

Код

Описание

примечание

100

Согласно новой версии EnvoyFilter должен содержать поле spec.ConfigPathces. Заполните его

v актуально для istio-se 1.17 и ниже

102

Согласно новой версии EnvoyFilter должен содержать поле spec.WorkloadSelector. Заполните его

v актуально для istio-se 1.17 и ниже

103

Ошибка преобразования json в структуру EnvoyFilter. Проверьте, все ли поля принадлежат EnvoyFilter

v актуально для istio-se 1.17 и ниже

104

Для того, чтобы работал фильтр rbac необходимо наличие spec.patch.value.config.rules

! надо корректировать правило для 1.17 и делать условие что бы это правило работало только для 1.17 и выше

105

Регулярное выражение устарело, вместо regex надо использовать структуру safe_regex

v актуально для istio-se 1.17 и ниже

106

Неправильно написан principal_name.safe_regex. В нем обязано быть два поля: google_re2 and regex

v актуально для istio-se 1.17 и ниже

107

Неправильно написан principal_name.safe_regex. В нем не хватает regex

v актуально для istio-se 1.17 и ниже

108

Неправильно написан principal_name.safe_regex. В нем не хватает google_re2

v актуально для istio-se 1.17 и ниже

109

Неправильно написан principal_name.safe_regex. В google_re2 надо указывать max_program_size.

v актуально для istio-se 1.17 и ниже

110

EnvoyFilter не должен содержать поле spec.filters. Оно устарело. Удалите его

v актуально для istio-se 1.17 и ниже

111

EnvoyFilter не должен не содержать spec.WorkoadLabels. Оно устарело. Удалите его

v актуально для istio-se 1.17 и ниже

112

Требуется удалить лейблы из EnvoyFilter (app.kubernetes.io/managed-by=maistra-istio-operator, maistra.io/<любое значение>)

требуется только там где присутствуют RHSM

113

Поле spec.patch.value.config не должно быть равным null

! надо корректировать правило для 1.17 и делать условие что бы это правило работало только для 1.17 и выше

114

EnvoyFilter загруженный под аккаунтом synapse-federation-controller компонент FSSM составлен некорректно

v актуально для istio-se 1.17 и ниже

115

EnvoyFilter для версии Istio 1.17 и выше не должен содержать поле spec.config_patches.patch.value.config

v актуально для istio-se 1.17 и ниже

Ошибки в ServiceEntry (200-299)

Код

Описание

Примечание

200

ServiceEntry должен содержать поле spec.ExportTo, укажите его

v актуально для istio-se 1.17 и ниже

201

ServiceEntry должен содержать поле spec.hosts. Заполните это поле хостами для которого данный конфигурационный файл

v актуально для istio-se 1.17 и ниже

202

Валидирование схемой не прошло. Проверьте правила отвечающие за поля "hosts" и "ExportTo"

v актуально для istio-se 1.17 и ниже

203

Ошибка преобразования json в структуру ServiceEntry. Проверьте, все ли поля принадлежат ServiceEntry

v актуально для istio-se 1.17 и ниже

205

Ошибка, host уже присутствует в другом ServiceEntry. Правило гласит, что два ServiceEntry с одним хостом не могут находится в одном проекте для TCP порта

! требуется проверка !

206

Ошибка получения Api сервера, возможно, сервер перегружен. Попробуйте залить конфиги еще раз. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

208

Ошибка идентификации Control Plane проекта. Возможно, не удалось получить конфиги по Api из-за перегрузки сервера. Попробуйте еще раз загрузить ServiceEntry (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

209

Ошибка получения проектов привязанных к Control Plane проекта, с которого пришел запрос. Возможно, не удалось получить конфиги по Api из-за перегрузки сервера. Попробуйте еще раз загрузить ServiceEntry (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

211

Если в любом проекте, подключенном к той же панели есть ServiceEntry в котором указан такой же host и port, но другой resolution, будет ошибка. Поставьте Resolution такой же, либо поменяйте порт

! надо сделать схему тестирования или автотест такой ситуации для проверки актуальности

212

Ошибка получения ServiceEntryList в текущем проекте из кэша. Попробуйте загрузить файл еще раз, возможно, KubeApiServer перегружен. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

213

Ошибка получения ServiceEntryList в одном из подключенных проектов к той же Control Plane из кэша. Попробуйте загрузить файл еще раз, возможно KubeApiServer перегружен. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

214

Ошибка, отсутствует Resolution или его значение указано, как "NONE". Укажите RESOLUTION значение, отличающееся от "NONE"

! надо сделать схему тестирования или автотест такой ситуации для проверки актуальности

215

Ошибка, не указано обязательное поле в ServiceEntry spec.ports.protocol. По документации istio это обязательный параметр

v актуально для istio-se 1.17 и ниже

216

Требуется удалить лейблы из ServiceEntry (app.kubernetes.io/managed-by=maistra-istio-operator, maistra.io/<любое значение>)

требуется только там где присутствуют RHSM

DestinationRule (300-399)

Код

Описание

300

В DestinationRule должно быть указано поле spec.hosts. Заполните это поле

v актуально для istio-se 1.17 и ниже

301

В DestinationRule должно быть указано поле spec.ExportTo. Укажите '.'

v актуально для istio-se 1.17 и ниже

302

Значение spec.ExportTo может быть установлено только в '.'

v актуально для istio-se 1.17 и ниже

303

Ошибка преобразования json в структуру DestinationRule. Проверьте, все ли поля принадлежат DestinationRule

v актуально для istio-se 1.17 и ниже

304

В поле host запрещено указывать '*'. Измените значение

v актуально для istio-se 1.17 и ниже

308

DestinationRule с таким же host уже существует. Укажите все правила в одном конфигурационном файле

! надо сдделать схему проверки актуальности

310

Не удалось считать DestinationRuleList из проекта. Проблемы с Api Возможно, сервер перегружен. Попробуйте еще раз залить конфиги

v актуально для istio-se 1.17 и ниже

311

Требуется удалить лейблы из DestinationRule (app.kubernetes.io/managed-by=maistra-istio-operator maistra.io/<любое значение>)

требуется только там где присутствуют RHSM

Ошибки в Gateway (400-499)

Код

Описание

Примечание

400

В Gateway должно присутствовать поле spec.Selector. Заполните его

v актуально для istio-se 1.17 и ниже

403

Ошибка преобразования json в структуру Gateway. Проверьте, все ли поля принадлежат Gateway

v актуально для istio-se 1.17 и ниже

404

Использование портов меньше 1024 запрещено, измените номер порта. Исключения: 80, 443

v актуально для istio-se 1.17 и ниже

405

Имя порта должно содержать префикс -, то есть выглядеть имя должно так: -*. Измените имя порта на данную маску, допустимые значения: http,https,grpc,http2,mongo,tls,tcp,postgres

v актуально для istio-se 1.17 и ниже

406

Ошибка получения Control Plane. Проблемы с Api, возможно, перегружен сервер. Попробуйте залить конфиги еще раз. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

407

Gateway с таким же значением selector уже существует в одном из проектов подключенных к такой же Control Plane. Используйте другое значение selector

! необходимо проверить

408

Ошибка получения Api. Возможно, сервер перегружен, попробуйте еще раз загрузить конфиги. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

412

Префикс имени порта (протокол) отличается от префикса имени порта в сервисе егресса. Для исправления ошибки сделайте префикс одинаковыми именами

v актуально для istio-se 1.17 и ниже

413

Ошибка получения Service Mesh Member Roll в Control Plane по Api. Возможно, сервер перегружен, попробуйте загрузить конфиги еще раз. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

416

Ошибка получения DeploymentList по Api. Возможно, сервер перегружен, попробуйте загрузить конфиги еще раз. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

417

Ошибка получения GatewayList по Api в одном из проектов подключенных к Control Plane. Возможно, сервер перегружен, попробуйте загрузить конфиги еще раз. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

418

Ошибка получения GatewayList по Api. Возможно, сервер перегружен, попробуйте загрузить конфиги еще раз. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

419

Требуется удалить лейблы из Gateway (app.kubernetes.io/managed-by=maistra-istio-operator, maistra.io/<любое значение>)

требуется только там где присутствуют RHSM

420

В Gateway поле spec.Selector не должно содержать селекторов со значением - "" (например istio: "")

V актуально для всех версий

Ошибки в Service (500-599)

Код

Описание

Примечание

503

Ошибка преобразования json в структуру Gateway. Проверьте, все ли поля принадлежат Gateway

v актуально для istio-se 1.17 и ниже

504

Номер порта должен быть больше 1024. Измените номер порта. Исключения: 80, 443

v актуально для istio-se 1.17 и ниже

505

Ошибка получения Api. Возможно, сервер перегружен, попробуйте еще раз загрузить конфиги. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

507

Использовать LoadBalancer в Service запрещено

v актуально для istio-se 1.17 и ниже

508

Использовать NodePort в Service запрещено

v актуально для istio-se 1.17 и ниже

511

Префикс имени порта в Service должен совпадать с префиксом имени порта Gateway для egress. Поправьте имя порта

v актуально для istio-se 1.17 и ниже

512

Имя порта должно содержать префикс -, то есть выглядеть имя должно так: -*. Измените имя порта на данную маску, допустимые значения: http,https,grpc,http2,mongo,tls,tcp,postgres

! надо рассмотреть портацию правила на любые сервисы не только на эгресс и ингресс v актуально для istio-se 1.17 и ниже

514

Префикс имени порта для егресса, должен совпадать со всеми упоминаниям во всех сервисах егресса на этот порт. Поправьте префикс

v актуально для istio-se 1.17 и ниже

515

Найдено дублирующие упоминание в сервисе на один и тот же порт, должно быть только одно. Удалите этот порт из добавляемого/обновляемого сервиса

v актуально для istio-se 1.17 и ниже

516

Проблема преобразовать в класс Service. Стоит проверить, все ли поля могу быть в Service. Операция Update

v актуально для istio-se 1.17 и ниже

517

Префикс нового добавляемого порта в сервисе не совпадает с префиксом в Gateway для него(egress). Поправьте префикс

v актуально для istio-se 1.17 и ниже

518

Префикс уже существующего порта в сервисе на егрессе не совпадает с префиксом в Gateway для него. Если это Ваш, то поправьте его, если нет, то найти того, кому принадлежит и попросите его исправить свою ошибку

v актуально для istio-se 1.17 и ниже

519

Ошибка получения DeploymentList в текущем проекте из кэша. Попробуйте загрузить файл еще раз, возможно, KubeApiServer перегружен. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

520

Ошибка получения GatewayList в текущем проекте из кэша. Попробуйте загрузить файл еще раз, возможно, KubeApiServer перегружен. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

521

Ошибка получения ServiceList в текущем проекте из кэша. Попробуйте загрузить файл еще раз, возможно, KubeApiServer перегружен. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

522

Требуется удалить лейблы из Service (app.kubernetes.io/managed-by=maistra-istio-operator, maistra.io/<любое значение>).

требуется только там где присутствуют RHSM

Ошибки в Sidecar (600-699)

Код

Описание

Примечание

600

Проблема преобразовать в класс Sidecar. Проверьте, все ли поля могу быть в Sidecar

v актуально для istio-se 1.17 и ниже

601

В поле hosts не должно присутствовать "istio-system"

v актуально для istio-se 1.17 и ниже

602

Ошибка получения Api. Возможно, сервер перегружен, попробуйте еще раз загрузить конфиги. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

603

Требуется удалить лейблы из Sidecar (app.kubernetes.io/managed-by=maistra-istio-operator, maistra.io/<любое значение>)

требуется только там где присутствуют RHSM

Ошибки в Deployment (700-799)

Код

Описание

Примечание

700

Проблема преобразовать в класс Deployment. Проверти, все ли поля могу быть в Deployment

v актуально для istio-se 1.17 и ниже

701

Имя префиксов app selector и istio selector для deployment ingress/egress должно быть составлено по маске ingressgateway-/egressgateway-/igw-/egw-

v актуально для istio-se 1.17 и ниже

702

Ошибка получения Api. Возможно, сервер перегружен, попробуйте загрузить конфиги еще раз. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

704

Ошибка получения Control Plane по Api. Возможно, сервер перегружен, попробуйте загрузить конфиги еще раз. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

705

Ошибка получения Service Mesh Member Roll в Control Plane по Api. Возможно, сервер перегружен, попробуйте загрузить конфиги еще раз. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

707

Значение в Selector.MatchLabels есть в другом проекте подключенном к той же Control Plane. Измените его

! надо сделать проверку

708

Ошибка получения DeploymentList в одном из подключенных проектов к той же Control Plane из кэша. Попробуйте загрузить файл еще раз, возможно, KubeApiServer перегружен. (Возможно, некорректная работа Synapse валидатора)

v актуально для istio-se 1.17 и ниже

709

Требуется удалить лейблы из Deployment (app.kubernetes.io/managed-by=maistra-istio-operator, maistra.io/<любое значение>). При обновлении версии RHSM до 2.1 удаляется весь деплоймент Ingress/Egress, если данные лейблы присутствуют

требуется только там где присутствуют RHSM

710

Используемый image ingress/egress gateway устарел.

v актуально для istio-se 1.17 и ниже