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.
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: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.