Интеграция 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:
- Ошибка монтирования: секретный файл «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(такого файла или каталога нет)
- Неправильное соединение 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
имущество.