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

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

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

Определение

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, укажите его

2

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

3

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

4

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

5

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

12

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

13

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

14

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

15

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

16

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

17

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

18

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

19

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

20

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

21

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

22

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

23

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

26

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

33

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

34

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

36

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

37

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

38

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

39

Если в Virtual Service указан параметр perTryTimeout, то также в VS должен быть задан Timeout или значение perTryTimeout должно быть больше или равно бизнес таймауту сервиса, иначе при срабатывании ретрай на Ingress будет возникать ошибка с кодом 500

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

Код

Описание

100

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

102

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

103

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

104

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

105

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

106

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

107

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

108

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

109

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

110

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

111

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

112

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

113

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

114

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

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

Код

Описание

200

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

201

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

202

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

203

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

205

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

206

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

208

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

209

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

211

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

212

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

213

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

214

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

215

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

216

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

DestinationRule (300-399)

Код

Описание

300

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

301

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

302

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

303

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

304

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

308

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

310

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

311

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

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

Код

Описание

400

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

403

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

404

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

405

Имя порта должно содержать префикс protocol-, то есть выглядеть имя должно так: protocol-*. Измените имя порта на данную маску

406

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

407

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

408

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

412

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

413

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

416

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

417

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

418

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

419

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

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

Код

Описание

503

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

504

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

505

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

507

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

508

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

511

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

512

Префикс имени порта должен совпадать с маской protocol-*. Поправьте имя порта

514

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

515

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

516

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

517

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

518

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

519

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

520

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

521

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

522

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

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

Код

Описание

600

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

601

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

602

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

603

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

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

Код

Описание

700

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

701

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

702

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

704

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

705

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

707

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

708

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

709

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

710

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