Интеграция Hono и Enmasse

Я пытаюсь развернуть хоно с помощью enmasse. Для этого я уже установил enmasse и создал адресные пространства и адреса после этого репозитория .

Как описано в на artifacthub. Сначала я создал секрет.

my_secret.yaml

      apiVersion: v1
kind: Secret
metadata:
  name: mysecret
stringData:
  amqp-credentials.properties: |
    username: hono
    password: HONO

и применил его в пространстве имен hono:

kubectl apply -f ./hono/my_secret.yaml -n hono

После этого я создал свой собственный файл values.yaml для перезаписи значений по умолчанию hono, как описано в разделе Hono-doc«Интеграция с существующей сетью обмена сообщениями AMQP» .

my_values.yaml

      amqpMessagingNetworkExample:
  enabled: false

adapters:
  extraSecretMounts:
  - amqpNetwork:
      secretName: "mysecret"
      mountPath: "/etc/custom"

  amqpMessagingNetworkSpec:
    host: messaging-5355a0a.enmasse-infra
    port: 5672
    credentialsPath: /etc/custom/amqp-credentials.properties

  commandAndControlSpec:
    host: messaging-5355a0a.enmasse-infra
    port: 5672
    credentialsPath: /etc/custom/amqp-credentials.properties

  amqp:
    enabled: false

deviceRegistryExample:
  enabled: true
  type: mongodb
  addExampleData: false

mongodb:
  createInstance: true

grafana:
  enabled: false

prometheus:
  createInstance: false

По крайней мере, я установил hono с помощью:

helm install -n hono -f ./hono/my_values.yaml c2e eclipse-iot / hono

Но, к сожалению, я получаю ошибки, и модули не работают должным образом. В частности, я получаю эти ошибки от всех модулей, которые пытаются подключиться к сети enmasse-Amqp:

  1. Ошибка монтирования: секретный файл «amqp-credentials.properties» не монтируется: в файлах журнала модуля указано «Нет такого файла или каталога»:

10: 47: 45.645 [vert.x-eventloop-thread-0] WARN oehconfig.ClientConfigProperties - не удалось загрузить учетные данные клиента для [messaging-5355a0a.enmasse-infra: 5672, роль: Command &Control] из файла [/ etc / custom / amqp-credentials.properties]java.io.FileNotFoundException: /etc/custom/amqp-credentials.properties(такого файла или каталога нет)

  1. Неправильное соединение AMQP: по какой-то причине все поды пытаются подключиться к enmasse через «amqps», хотя я прямо говорю, что они должны использовать «amqp» через номер порта и не предоставлять crt-ключи! Я ошибся?

Что я здесь делаю не так?

Также было бы здорово, если бы кто-нибудь мог предоставить образцовый репозиторий интеграции «Hono+Enmasse».

Спасибо

1 ответ

Решение

Вы не можете указать дополнительные секретные крепления на adaptersуровень. Вам необходимо указать свойство для каждого адаптера отдельно, например, для адаптера HTTP и MQTT:

      adapters:
  http:
    extraSecretMounts:
      amqpNetwork:
        secretName: "mysecret"
        mountPath: "/etc/custom"
  mqtt:
    extraSecretMounts:
      amqpNetwork:
        secretName: "mysecret"
        mountPath: "/etc/custom"

Также обратите внимание, что extraSecretMounts значение не массив, а объект, т.е. не должно быть - персонаж перед amqpNetwork имущество.

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