Ich versuche, zwei Traefiks zu installieren. Jeder wird in seinem eigenen Namespace sein. Jeder Traefik wird die Labelauswahl verwenden. Unten ist die Werteüberschreibung aufgeführt, die ich für jeden verwende, wenn ich die Helminstallation ausführe.
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}}
Die Installation des ersten Traefik funktioniert einwandfrei. Beim zweiten Versuch erhalte ich Folgendes.
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"
Ich benutze:
chartVersion: 10.19.4
appVersion: 2.6.3
Wie kann ich HELM verwenden, um mehrere Traefik zu installieren, die die Etikettenauswahl verwenden?
Antwort1
Die Fehlermeldung besagt eindeutig, dass bereits eine Clusterrolle mit dem Namen „Traefik“ vorhanden ist. Führen Sie einfach „kubectl get clusterrole“ aus. Daraufhin wird Ihnen eine bereits installierte „Traefik“-Clusterrolle aufgelistet.
Sie müssen lediglich Ihr Helm aktualisieren, um den neuen benutzerdefinierten Clusterrole-Wert in values.yaml hinzuzufügen, und dann die Helm-Installation mit dem neuen Clusterrole-Namen ausführen. Fertig