rbac を使用して複数の Traefik を HELM インストールする方法は?

rbac を使用して複数の Traefik を HELM インストールする方法は?

2 つの traefik をインストールしようとしています。それぞれが独自の名前空間に配置されます。各 traefik はラベル選択を使用します。以下は、helm install を実行するときにそれぞれに使用する値のオーバーライドです。

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 は正常にインストールされます。2 番目の 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 を実行するだけです。完了です。

関連情報