我正在尝试安装两个 traefik。每个 traefik 都将位于其自己的命名空间中。每个 traefik 都将使用标签选择。以下是我在运行 helm install 时为每个 traefik 使用的值覆盖。
rbac:
enabled: true
# Enable prometheus
additionalArguments:
- "--metrics.prometheus=true"
# Options for the main traefik service, where the entrypoints traffic comes
# from.
service:
enabled: true
type: ClusterIP
kubernetes:
namespaces: "{{NAMESPACE}}"
providers:
kubernetesCRD:
labelSelector: wsLabel={{NAMESPACE}}
kubernetesIngress:
labelSelector: wsLabel={{NAMESPACE}}
第一个 traefik 安装正常。当我尝试第二个 traefik 时,我得到了以下信息。
Error: rendered manifests contain a resource that already exists. Unable to continue with install: ClusterRole "traefik" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-namespace" must equal "namespace2": current value is "namespace1"
我在用:
chartVersion: 10.19.4
appVersion: 2.6.3
如何使用 HELM 安装多个使用标签选择的 Traefik?
答案1
错误消息很清楚地表明已经有一个名为 traefik 的 clusterrole。只需执行 kubectl get clusterrole,它就会列出已安装的 traefik clusterrole。
您所要做的就是更新您的 helm,在 values.yaml 中添加新的自定义 clusterrole 值,然后使用新的 clusterrole 名称运行 helm install。完成