Интеграция Hono и Enmass вызывает ошибки событий

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

enmasse_iot.yaml

      apiVersion: enmasse.io/v1beta1
kind: AddressSpace
metadata:
  name: iot1
spec:
  type: standard
  plan: standard-medium
  authenticationService:
    name: standard-authservice
---
apiVersion: enmasse.io/v1beta1
kind: Address
metadata:
    name: iot1.command
spec:
    address: command
    type: anycast
    plan: standard-medium-anycast
---
apiVersion: enmasse.io/v1beta1
kind: Address
metadata:
    name: iot1.command-internal
spec:
    address: command_internal
    type: anycast
    plan: standard-medium-anycast
---
apiVersion: enmasse.io/v1beta1
kind: Address
metadata:
    name: iot1.command-response
spec:
    address: command_response
    type: anycast
    plan: standard-medium-anycast
---
apiVersion: enmasse.io/v1beta1
kind: Address
metadata:
    name: iot1.telemetry
spec:
    address: telemetry
    type: anycast
    plan: standard-medium-anycast
---
apiVersion: enmasse.io/v1beta1
kind: Address
metadata:
    name: iot1.event
spec:
    address: event
    type: queue
    plan: standard-small-queue
---
apiVersion: user.enmasse.io/v1beta1
kind: MessagingUser
metadata:
  name: iot1.hono
spec:
  username: hono
  authentication:
    type: password
    password: SE9OTw== # pwd=HONO, Base64 encoded
  authorization:
    - addresses: ["*"]
      operations: ["send","recv","view","manage"]

Hono устанавливается поверх диаграмм управления и использует следующий файл значений:

      livenessProbeInitialDelaySeconds: 900
readinessProbeInitialDelaySeconds: 45
useLoadBalancer: false

amqpMessagingNetworkExample:
  enabled: false

commandRouterService:
  extraSecretMounts:
    amqp-network:
      secretName: "mysecret"
      mountPath: "/etc/custom"

adapters:
  http:
    extraSecretMounts:
      amqp-network:
        secretName: mysecret
        mountPath: /etc/custom
  mqtt:
    extraSecretMounts:
      amqp-network:
        secretName: mysecret
        mountPath: /etc/custom

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

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

deviceRegistryExample:
  enabled: true
  addExampleData: false
  extraSecretMounts:
    amqp-network:
      secretName: mysecret
      mountPath: /etc/custom

mongodb:
  createInstance: false

Затем я создал арендатора «iot1» и добавил к нему «dev» в Hono. После этого я написал простой AMQP-приемник и приступил к инстансам следующим образом:

      python ./amqp-receiver.py -s amqps://10.100.42.58:5671 -a telemetry/iot1
python ./amqp-receiver.py -s amqps://10.100.42.58:5671 -a event/iot1

С другой стороны, мое смоделированное устройство подключается к MQTT-адаптеру Hono и публикует как телеметрию, так и события через mqtt. Данные телеметрии принимаются первым amqp-приемником без проблем. Но как только событие публикуется, MQTT-адаптер Hono выдает ошибку «нет кредита»!

Вы можете найти лог файлы Hono и Enmasse здесь .

  1. Что-то не так с брокером enmasse - см. Файлы журналов?
  2. Мои настройки набора неверны? Или это лучший и более чистый способ настроить enmassse для Hono?
  3. Как обращаться с событиями и командами?

Спасибо!

0 ответов

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