Руководство оператора#
Термины и определения#
Термин/аббревиатура |
Определение |
|---|---|
Граничный прокси / IGEG |
Компонент Граничный прокси Platform V Synapse Service Mesh |
Platform V Synapse Service Mesh |
Программный продукт на базе Istio SE, обеспечивающий возможность создания сервисной сети поверх Платформенной в Kubernetes |
Istio SE |
Настраиваемая сервисная сетка с открытым исходным кодом, служащая для взаимодействия, мониторинга и обеспечения безопасности контейнеров в кластере Kubernetes |
Доступ к приложению#
Компонент Граничный прокси не имеет пользовательского интерфейса. В процессе эксплуатации оператор с правами на чтение не имеет доступа к управлению и настройке граничного прокси. Оператор c правами на просмотр имеет доступ к записям системного журнала граничного прокси. Доступ определяется ролями, определенными для пользователя настройками RoleBindings в кластере Kubernetes.
Использование приложения оператором#
Приложение используется оператором для определения, что запросы поступают в проект в кластере и выходят из проекта.
К типовым действиям пользователя можно отнести:
Увеличение или уменьшение количества Pods.
Просмотр логов приложения для проверки успешности запроса.
Для выполнения данных действий пользователь должен иметь права администратора в namespace, определенные ролями k8s.
Сценарий 1. Изменение количества Pods#
Через пользовательский интерфейс кластера k8s
Выбрать нужный проект.
В меню выбрать пункт Workload/Deployments.
На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
Нажать ⋮ и выбрать Scale.
Задать нужно количество Pods и нажать Scale.


Сценарий 2. Проверка логов в Pod#
Зайти в нужный проект.
В меню выбрать пункт Workload/Pods.
На странице найти нужный Pod.
Перейти по сcылке в этот Pod.
Перейти на вкладку ≡ (Logs). В консоли не должно быть ошибок.

Корректным условием является отсутствие логов с ошибками и запись:
Info Envoy proxy is ready:

Также можно сделать это через консоль.
Для этого достаточно выполнить команду kubectl --kubeconfig=<путь_к_kubeconfig> -n <имя_проекта> logs <имя Pod>
Пример:

Часто встречающиеся проблемы и пути их устранения#
Проблема |
Пути решения |
|---|---|
Граничный прокси не может подключиться к компоненту POLM, в системном журнале видно сообщение Envoy proxy is NOT ready |
Проверьте корректность подключения к контрольной панели Synapse Service Mesh. |
До прикладного приложения не доходят запросы |
Проверьте access-логи граничного прокси. Возможные варианты сообщений описаны ниже |
В access-логе граничного прокси видно сообщение: |
Авторизуйтесь в прикладном проекте. Если вызов направлен на внутренний сервис, проверьте наличие сервиса с таким именем, проверьте корректность параметров host/порт в конфигурационных файлах прикладного проекта — Gateway, DestinationRule и VirtualService. Если вызов направлен на внешний host, проверьте наличие конфигурационного файла ServiceEntry для данного сочетания host/порт |
В access-логе граничного прокси видно сообщение: |
Авторизуйтесь в прикладном проекте. Проверьте корректность конфигурации раздела connectionPoolSettings в DestinationRule |
В access-логе граничного прокси видно сообщение: |
Авторизуйтесь в прикладном проекте. Если вы используете автоматическую аутентификацию ISTIO_MUTUAL, проверьте наличие конфликта в разделе trafficPolicy конфигурационного файла DestinationRule, относящегося к проблемному сервису, и раздела |
В access-логе граничного прокси видно сообщение: |
Авторизуйтесь в прикладном проекте. Проверьте наличие вызываемого сервиса — в веб-интерфейсе Home/Networking/Services/Search_by_name найдите сервис. Проверьте наличие запущенного Pod, на который ссылается сервис — в веб-интерфейсе кликните правой кнопкой мыши на найденный сервис, выберите вкладку Pods на открывшейся странице, убедитесь, что статус Pods на данной странице имеет значение running |
Если указанные пути решения не помогли, обратитесь к системным администраторам контрольной панели Synapse Service Mesh.
Ошибки TLS 1.2. Диагностика проблемы и обращение в поддержку#
В случае появления проблем с TLS 1.2 и при появлении ошибок в логах требуется выполнить проверки сертификатов. Перед обращением в поддержку требуется выполнить следующие команды проверки сертификатов в консоли, приложить отчет к тикету.
- От смежной системы получить: сертификат, цепочку корневых сертификатов.
- Установить консольное приложение openssl.
- Используя цепочку корневых сертификатов смежной системы провалидировать используемые сертификаты.
CERT_CHAIN — цепочка сертификатов смежной системы;
APP_CERT — сертификат, который прописан в Deployments Ingress/Egress.
- Проверить сертификат смежной системы корневой цепочкой, которая используется на вашем Ingress/Egress.
- Проверить соответствие ключа сертификату:
openssl x509 -noout -modulus -in <APP_CERT> | openssl md5 openssl rsa -noout -modulus -in serverkey.pem | openssl md5где:
APP_CERT — сертификат, который прописан в deployments Ingress/Egress;
APP_KEY — ключ приложения, который прописан в deployments Ingress/Egress.
Вывод данных команд должен совпадать. Вывод корректного результата:
$ openssl rsa -noout -modulus -in serverkey.pem | openssl md5 f8570d29dfa7e9e59d018bd848c26420 $ openssl x509 -noout -modulus -in servercert.pem | openssl md5 f8570d29dfa7e9e59d018bd848c26420Результат приложить скриншотом.
- Приложить логи с Ingress/Egress
- Проверить настройки gateway, destinationRule, virtualService. Приложить Deployment
- Приложить версию образа, которая используется
- Предоставить информацию о смежной системе:
- Какое поколение
- Используется ли Ingress/Egress с настроенным mTLS 1.2
- Какой стек/библиотека какого языка используется
- Предоставить ошибку на стороне смежной системы
openssl verify -verbose -x509_strict -CAfile <CERT_CHAIN> <APP_CERT>
где:
Пример корректного результата:
$ openssl verify -verbose -x509_strict -CAfile cacert.pem clientcert.pem
clientcert.pem: OK
Результат приложить скриншотом.
Параметры настройки#
В процессе эксплуатации пользователь с правами на чтение (оператор) не имеет доступа к управлению и настройке граничного прокси.
Параметры настройки описаны в документации IGEG: «Руководство по системному администрированию», раздел «Сценарии администрирования».
Правила эксплуатации#
Компонент IGEG конфигурируется и эксплуатируется в соответствии с эксплуатационной документацией («Руководство по установке», «Руководство по системному администрированию», «Руководство оператора»).
Оператор имеет доступ к записям системного журнала граничного прокси в соответствии с предоставленными правами кластера Kubernetes.