Обнаружение одноранговых узлов Istio RabbitMQ StatefulSets

У меня есть кластер RabbitMQ , работающий в Kubernetes. Он работает, как и ожидалось, без включенной инъекции Istio . К сожалению, при включении istio-injection происходит сбой кластера. Это вызвано ошибкой обнаружения одноранговых узлов во время процесса запуска. Я получил следующую ошибку в журналах pod:

      2022-06-23 12:39:59.907 [error] <0.249.0> CRASH REPORT Process <0.249.0> with 0 neighbours exited with reason: no match of right hand value {error,eacces} in rabbit_peer_discovery_k8s:make_request/0 line 110 in application_master:init/4 line 138

Я создал запись службы для каждого модуля и выставил все необходимые порты, сообщив istio, что они находятся внутри сетки службы, пример ServiceEntry в rabbitMQ, но, к сожалению, я все еще получаю те же ошибки — это выглядит так:

      apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  labels:
    app: rabbitmq-ha
    chart: rabbitmq-ha-1.12.1
    heritage: Tiller
    release: rabbitmq
  name: rabbitmq
  namespace: rabbitns
spec:
  hosts:
  - rabbitmq-0.rabbitmq-discovery.rabbitns.svc.cluster.local
  - rabbitmq-1.rabbitmq-discovery.rabbitns.svc.cluster.local
  location: MESH_INTERNAL
  ports:
  - name: http
    number: 15672
    protocol: TCP
  - name: amqp
    number: 5672
    protocol: TCP
  - name: epmd
    number: 4369
    protocol: TCP
  - name: amqps
    number: 5671
    protocol: TCP
  - name: exporter
    number: 9419
    protocol: TCP
  - name: inter-node
    number: 25672
    protocol: TCP
  resolution: NONE

Версии:

      $ istioctl version
client version: 1.14.0
control plane version: 1.14.0
data plane version: 1.14.0 (3 proxies)
$ kubectl version --short
Client Version: v1.21.5
Server Version: v1.22.4

Дополнительная информация: Отчет об анализе с помощью команды istioctl bug-report.

      Error [IST0106] (ServiceEntry rabbitns/rabbitmq) Schema validation error: multiple hosts provided with non-HTTP, non-TLS ports

По-видимому, Istio хорошо обнаруживает обычные сервисы (которые прикрепляют 1 единственный DNS ко всем модулям, а затем к ним обращаются в стиле циклического перебора), но он не знаком с DNS для каждого модуля, поэтому он отклоняет его. Эта проблема не связана с mTLS, так как я получил тот же результат с включенным/отключенным mTLS.

Не могли бы вы помочь мне решить эту проблему?

0 ответов

Другие вопросы по тегам