Kubernetes External Secrets Operator mit Secret Manager verwenden
Konfigurieren Sie den External Secrets Operator, um Kubernetes-Secrets im OVHcloud Secret Manager zu speichern
Ziel
Diese Anleitung erklärt, wie Sie den Kubernetes External Secrets Operator einrichten, um den OVHcloud Secret Manager als Provider zu verwenden.
Diese Anleitung beschreibt die Verwendung von External Secrets Operator mit dem HashiCorp Vault-Provider, um auf den OVHcloud Secret Manager über die HashiCorp Vault KV2-kompatible API zuzugreifen.
OVHcloud stellt mittlerweile einen nativen External Secrets Operator-Provider bereit. Wir empfehlen, diesen für neue Deployments zu verwenden. Weitere Informationen finden Sie in der Dokumentation zum OVHcloud-Provider.
Voraussetzungen
- Sie verfügen über einen OVHcloud Kunden-Account.
- Sie haben eine OKMS-Domain bestellt oder ein erstes Secret erstellt.
- Sie haben eine Authentifizierungsmethode für die OKMS-Datenebene konfiguriert (diese Anleitung verwendet ein Personal Access Token).
- Sie verfügen über einen Managed Kubernetes Service-Cluster.
In der praktischen Anwendung
Einrichten des Secret Manager
Um den Zugriff auf den Secret Manager zu ermöglichen, benötigen Sie einen token, die region und die okms-id Ihres Secret Managers.
Erstellen der Zugangsdaten
Erstellen Sie einen lokalen IAM-Benutzer mit Zugriffsrechten auf Ihre Domain oder verwenden Sie einen Service-Account. Weitere Informationen zur vollständigen Einrichtung und zu den IAM-Richtlinienvorlagen finden Sie unter OKMS-Authentifizierungsmethoden.
Der Benutzer sollte Mitglied einer Gruppe mit der Rolle ADMIN sein. Wenn Sie stattdessen IAM-Richtlinien verwenden, sollte der Benutzer mindestens die folgenden Rechte auf der OKMS-Domain haben:
okms:apikms:secret/createokms:apikms:secret/version/getDataokms:apikms:secret/getokms:apiovh:secret/get
Alternativ ist es möglich, einen Benutzer mit der OVHcloud CLI zu erstellen:
Erstellen Sie dann ein Personal Access Token (PAT) user_pat:
Verwenden Sie den folgenden API-Aufruf:
Mit der folgenden Nutzlast (füllen Sie diese mit Ihren eigenen Werten aus):
Die API antwortet mit:
Bewahren Sie den Wert des Feldes token auf, da er nicht erneut angezeigt wird und zur Authentifizierung am Secret Manager als user_pat verwendet wird.
Informationen zum Secret Manager
Sie benötigen außerdem die region und die okms-id der OKMS-Domain, die Sie verwenden möchten. Diese ID und diese Region finden Sie im oder über die OVHcloud CLI:
Einrichten des Secret Providers in Kubernetes
Installation des External Secrets Operator (ESO) auf Ihrem Kubernetes-Cluster
Prüfen Sie, ob der ESO ausgeführt wird:
Erstellen eines Secrets, das den PAT enthält
Kodieren Sie zunächst Ihren user_pat in Base64, damit er in einem Kubernetes-Secret gespeichert werden kann.
Alternativ, falls der user_pat in einer Umgebungsvariable gespeichert wurde:
Erstellen Sie dann eine secret.yaml-Datei:
Und wenden Sie diese mit dem Befehl kubectl apply -f secret.yaml an.
Alternativ, falls Sie eine Umgebungsvariable verwenden:
Das Secret sollte erstellt worden sein:
Konfigurieren des External Secrets Operator
Richten Sie zunächst einen ClusterSecretStore ein, der für die Synchronisierung mit dem Secret Manager zuständig ist.
Wir konfigurieren den SecretStore mit HashiCorp Vault, Token-Authentifizierung und dem OKMS-Endpunkt als Backend.
Fügen Sie den user_pat als Secret hinzu, um ihn in den Charts verwenden zu können.
Um eine neue ClusterSecretStore-Ressource zu definieren, erstellen Sie eine clustersecretstore.yaml-Datei mit folgendem Inhalt:
Es wird nur die Token-Authentifizierung unterstützt.
Diese Integration funktioniert auch mit einem SecretStore.
Der Name der Region kann aus Ihrem Regionsstandort abgeleitet werden mit:
Ein Beispiel: Für Europe (France - Paris) lautet der OKMS-Endpunkt eu-west-par.okms.ovh.net.
Deployen Sie die Ressource in Ihrem Cluster:
Verwenden des External Secrets Operator
Sobald der ClusterSecretStore eingerichtet ist, können Sie das ExternalSecret definieren, das aus dem Secret Manager stammt.
Erstellen Sie eine externalsecret.yaml-Datei mit folgendem Inhalt:
Wenden Sie die Ressource in Ihrem Cluster an:
Dadurch wird ein Kubernetes-Secret-Objekt erstellt.
Weitere Informationen zur Verwaltung des External Secrets Operator finden Sie in der dedizierten Dokumentation zum HashiCorp Vault-Provider: https://external-secrets.io/latest/.
Weiterführende Informationen
OKMS-Authentifizierungsmethoden
Secret Manager mit der REST-API verwenden
Treten Sie unserer User Community bei.