微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

K8s 上的 IotEdge:创建选项以添加 Pod/部署注释例如 dapr

如何解决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"
       }]
     }]
   }
}

iotedge on k8s

解决方法

createOptions.Labelstranslated 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 举报,一经查实,本站将立刻删除。