Связь модулей Kubernetes с несколькими наборами состояния

#kubernetes #kubernetes-statefulset #statefulset

#kubernetes #kubernetes-statefulset #statefulset

Вопрос:

В пределах одного и того же набора с сохранением состояния afaik вы можете взаимодействовать между конкретными модулями, просто ссылаясь на него напрямую, например, так — pod-{0..N-1}.my_service.my_namespace.svc.cluster.local . (еще немного информации здесь: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id ).

Однако в моем случае у меня есть 2 разных набора с сохранением состояния, и я хочу иметь возможность statefullset1-pod-0 из 1-го набора с сохранением состояния взаимодействовать statefullset2-pod-0 со 2-м набором с сохранением состояния (а также statefullset1-pod-1 с statefullset2-pod-1 , и так далее). Возможно ли это? Если да, не могли бы вы предоставить пример конфигурации?

Ответ №1:

Однако в моем случае у меня есть 2 разных набора с сохранением состояния, и я хочу иметь возможность statefullset1-pod-0 из 1-го набора с сохранением состояния взаимодействовать с statefullset2-pod-0 из 2-го набора с сохранением состояния (а также statefullset1-pod-1 с statefullset2-pod-1 и так далее). Возможно ли это? Если да, не могли бы вы предоставить пример конфигурации?

Да, ваши приложения могут обращаться к другим StatefulSet , поскольку они обращаются к любой другой службе в кластере, используйте DNS-имя службы. Например. если вы создали службу statefullset2-pod-0 в том же пространстве имен, вы можете получить к ней доступ, http://statefullset2-pod-0 если это http-служба.

Помните, что для StatefulSet вы несете ответственность за создание служб Pod-identity самостоятельно.

Из документации StatefulSet:

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