Повторно подключите клиент grpc

#kubernetes #grpc #kubectl #microk8s

Вопрос:

У меня есть несколько модулей, в которых запущены некоторые службы (например, служба аутентификации). Он отправляет запросы в службу поддержки клиентов через grpc. При перезапуске клиентской службы IP — адрес модуля изменяется. А затем служба аутентификации получает нового IP — клиента службы. Однако повторного подключения не происходит. Как я могу снова подключиться?

Комментарии:

1. k8s службы буквально предназначены для отслеживания модулей, изменяющих IP-адреса. Поэтому при обращении к вашим службам используйте DNS-имя, а не IP-адрес.

Ответ №1:

Как упоминал @colm.anseo, сервисы kubernetes предназначены для отслеживания модулей, изменяющих IP-адреса. Поэтому вместо IP-адресов используйте DNS-имя при обращении к службам. gRPC автоматически подключится к новым адресам при обновлении DNS, и DNS периодически обновляется (при ошибках подключения; не чаще, чем каждые 30 секунд, и с экспоненциальным возвратом, если в данный момент нет подключенных адресов). Каждая попытка повторного подключения подразумевает разрешение DNS-адреса, хотя он может не обнаруживать новый адрес сразу из-за TTL (времени действия) старой записи DNS. Ссылаться наDNS для служб и модулей для получения информации.

Ответ №2:

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

В связи с вашей проблемой я бы прочитал об услугах: https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/

Скорее всего, вы захотите воспользоваться Услугой.