如何解决K8s 上的 IotEdge:创建选项以添加 Pod/部署注释例如 dapr
我们正在 kubernetes 上使用 iotedge,我正在寻找一种方法将 dapr sidecars 添加到已部署的 iothub 模块中。
是否有任何其他自定义 createOptions 可用于绕过 iothub 抽象?
更具体地说:在 Pod/Deployment 清单中需要特殊的 dapr 注释,以便 Dapr Sidecar Injector 可以完成其工作。
annotations:
dapr.io/enabled: "true"
dapr.io/app-id: "nodeapp"
dapr.io/app-port: "3000"
there would need to be some
只是我发现的可能的 createOptions 的快速摘要:
"createOptions": {
"Env": [
"storageFolder=/storage"
],"HostConfig": {
"PortBindings": {
"5671/tcp": [{
"HostPort": "5671"
}],"8883/tcp": [{
"HostPort": "8883"
}],"443/tcp": [{
"HostPort": "443"
}]
}
},"Labels": {
"cqTargetPort": "80","cqTargetRoute": "machine-api","skipMiddleware": "false"
}
"k8s-experimental": {
"volumes": [{
"volume": {
"name": "pvcvol","persistentVolumeClaim": {
"claimName": "azurefile"
}
},"volumeMounts": [{
"name": "pvcvol","mountPath": "/storage"
}]
}]
}
}
解决方法
createOptions.Labels
是 translated into pod annotations。所以你可以把所需的 Dapr 注释作为模块的标签:
元数据
name = Name 将是模块名称,经过消毒后成为 K8s 标识符。 命名空间 = 给定的命名空间。标签 = 默认标签集。 annotations = pod 的元数据将有一个固定的注释: net.azure-devices.edge.original-moduleid = 来自未净化的模块 ID 边缘部署规范。然后 settings.createOptions.Labels 将 添加到 Pod 的注释中。
无法“选择退出”注入 iotedge 代理,但即使它与 Dapr 注入的 sidecar 共同存在,它也应该是良性的。我还没有测试过这个,所以如果它适合你,让我们看看吧!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。