整合 Hono 和 Enmasse
Integrating Hono and Enmasse
我正在尝试使用 enmasse 部署 hono。为此,我已经安装了 enmasse 并在 repository.
之后创建了地址空间和地址
如 artifacthub 上 hono-doc 所述。首先我创建了一个秘密。
my_secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
stringData:
amqp-credentials.properties: |
username: hono
password: HONO
并将其应用到 hono-namespace:
kubectl apply -f ./hono/my_secret.yaml -n hono
之后,我创建了自己的 values.yaml 文件来覆盖 hono 默认值,
如 "Integrating with an existing AMQP Messaging Network".
中所述
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
但不幸的是,我收到错误并且 pods 没有 运行 好,特别是我从所有 pods 尝试连接到 enmasse-Amqp 网络的人那里收到这些错误:
- Mount-Error:秘密文件“amqp-credentials.properties”没有被挂载:
Pod 的日志文件显示“没有这样的文件或目录”:
10:47:45.645 [vert.x-eventloop-thread-0] WARN
o.e.h.config.ClientConfigProperties - could not load client
credentials for [messaging-5355a0a.enmasse-infra:5672, role: Command &
Control] from file [/etc/custom/amqp-credentials.properties]
java.io.FileNotFoundException: /etc/custom/amqp-credentials.properties
(No such file or directory)
- 错误的 AMQP 连接:出于某种原因,所有 pods 都尝试通过“amqps”连接到 enmasse,尽管我明确表示他们应该使用“amqp”通过端口号而不提供 crt-keys!我错了吗?
我做错了什么?
此外,如果有人可以提供示例性的“Hono+Enmasse”集成存储库,那就太好了。
谢谢
您不能在 adapters
级别指定额外的秘密安装。您需要为 each 适配器单独指定 extraSecretMounts
属性,例如对于 HTTP 和 MQTT 适配器:
adapters:
http:
extraSecretMounts:
amqpNetwork:
secretName: "mysecret"
mountPath: "/etc/custom"
mqtt:
extraSecretMounts:
amqpNetwork:
secretName: "mysecret"
mountPath: "/etc/custom"
另请注意,extraSecretMounts
值不是数组而是对象,即 amqpNetwork
属性.[=16 之前不能有 -
字符=]
我正在尝试使用 enmasse 部署 hono。为此,我已经安装了 enmasse 并在 repository.
之后创建了地址空间和地址如 artifacthub 上 hono-doc 所述。首先我创建了一个秘密。
my_secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
stringData:
amqp-credentials.properties: |
username: hono
password: HONO
并将其应用到 hono-namespace:
kubectl apply -f ./hono/my_secret.yaml -n hono
之后,我创建了自己的 values.yaml 文件来覆盖 hono 默认值, 如 "Integrating with an existing AMQP Messaging Network".
中所述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
但不幸的是,我收到错误并且 pods 没有 运行 好,特别是我从所有 pods 尝试连接到 enmasse-Amqp 网络的人那里收到这些错误:
- Mount-Error:秘密文件“amqp-credentials.properties”没有被挂载: Pod 的日志文件显示“没有这样的文件或目录”:
10:47:45.645 [vert.x-eventloop-thread-0] WARN o.e.h.config.ClientConfigProperties - could not load client credentials for [messaging-5355a0a.enmasse-infra:5672, role: Command & Control] from file [/etc/custom/amqp-credentials.properties] java.io.FileNotFoundException: /etc/custom/amqp-credentials.properties (No such file or directory)
- 错误的 AMQP 连接:出于某种原因,所有 pods 都尝试通过“amqps”连接到 enmasse,尽管我明确表示他们应该使用“amqp”通过端口号而不提供 crt-keys!我错了吗?
我做错了什么?
此外,如果有人可以提供示例性的“Hono+Enmasse”集成存储库,那就太好了。
谢谢
您不能在 adapters
级别指定额外的秘密安装。您需要为 each 适配器单独指定 extraSecretMounts
属性,例如对于 HTTP 和 MQTT 适配器:
adapters:
http:
extraSecretMounts:
amqpNetwork:
secretName: "mysecret"
mountPath: "/etc/custom"
mqtt:
extraSecretMounts:
amqpNetwork:
secretName: "mysecret"
mountPath: "/etc/custom"
另请注意,extraSecretMounts
值不是数组而是对象,即 amqpNetwork
属性.[=16 之前不能有 -
字符=]