【发布时间】:2021-06-07 13:47:45
【问题描述】:
我有一个包含 5 个容器的部署。
其中两个有--endpoint作为参数,其值是从ENV设置的
所以我在部署后看到这个错误
/home/xxx-csi-drivers/xxx-vpc-block-csi-driver flag redefined: endpoint
panic: /home/xxx-csi-drivers/xxx-vpc-block-csi-driver flag redefined: endpoint
构建容器 A 的代码有
endpoint = flag.String("endpoint", "/tmp/storage-secret-sidecar.sock", "Storage secret sidecar endpoint")
还有 构建容器 B 的代码也有
endpoint = flag.String("endpoint", "unix:/tmp/csi.sock", "CSI endpoint")
在上述错误的代码原因中定义了相同的 var endpoint。
我已尝试更改 deployment 文件中的 arg 名称。和其他没有帮助的选项。但是在代码中更改flag 名称解决了这个问题,但需要在工作中了解更多。所以发布了这个问题
【问题讨论】:
-
感谢@Penelope Stevens 试图了解更多。包不是相互独立的,它们在不同的容器中运行。
标签: go kubernetes go-flag