Come utilizzare Kubernetes External Secrets Operator con Secret Manager
Scopri come configurare External Secrets Operator per archiviare i secret Kubernetes sul Secret Manager di OVHcloud
Obiettivo
Questa guida spiega come configurare l'External Secrets Operator di Kubernetes per utilizzare il Secret Manager di OVHcloud come provider.
Questa guida descrive l'utilizzo di External Secrets Operator con il provider HashiCorp Vault per accedere al Secret Manager di OVHcloud tramite l'API compatibile HashiCorp Vault KV2.
OVHcloud fornisce ora un provider External Secrets Operator nativo. Ti consigliamo di utilizzarlo per i nuovi deployment. Consulta la documentazione del provider OVHcloud.
Prerequisiti
- Un account cliente OVHcloud.
- Aver ordinato un dominio OKMS o creato un primo secret.
- Aver configurato un metodo di autenticazione per il piano dati OKMS (questa guida utilizza un token di accesso personale).
- Disporre di un cluster Managed Kubernetes.
Procedura
Configurazione del Secret Manager
Per consentire l'accesso al Secret Manager, avrai bisogno di un token, della region e dell'okms-id del tuo Secret Manager.
Creazione delle credenziali
Crea un utente locale IAM con i diritti di accesso al tuo dominio, oppure utilizza un account di servizio. Consulta Metodi di autenticazione OKMS per la configurazione completa e i modelli di policy IAM.
L'utente deve appartenere a un gruppo con il ruolo ADMIN oppure, se utilizzi delle policy IAM, deve avere almeno i seguenti diritti sul dominio OKMS:
okms:apikms:secret/createokms:apikms:secret/version/getDataokms:apikms:secret/getokms:apiovh:secret/get
È anche possibile creare un utente con la CLI OVHcloud:
Quindi crea un token di accesso personale (Personal Access Token o PAT) user_pat:
Utilizza la seguente chiamata API:
Con il seguente payload (compilalo con i tuoi valori):
L'API risponderà con:
Conserva il valore del campo token poiché non verrà più visualizzato e sarà utilizzato per autenticarsi al Secret Manager come user_pat.
Informazioni del Secret Manager
Avrai bisogno anche della region e dell'okms-id del dominio OKMS che desideri utilizzare. Questo ID e questa regione sono disponibili nella o tramite la CLI OVHcloud:
Configurazione del Secret Provider in Kubernetes
Installazione dell'External Secrets Operator (ESO) sul tuo cluster Kubernetes
Verifica che l'ESO sia in esecuzione:
Creazione di un secret contenente il PAT
Inizia codificando il tuo user_pat in base 64 in modo da poterlo memorizzare in un secret Kubernetes.
Oppure, se il user_pat è memorizzato in una variabile d'ambiente:
Quindi crea un file secret.yaml:
E applica la risorsa al cluster con il comando kubectl apply -f secret.yaml.
Oppure, se utilizzi una variabile d'ambiente:
Il secret dovrebbe essere stato creato:
Configurazione dell'External Secrets Operator
Innanzitutto, configura un ClusterSecretStore che si occupa della sincronizzazione con il Secret Manager.
Configuriamo il SecretStore utilizzando HashiCorp Vault con l'autenticazione tramite token e l'endpoint OKMS come backend.
Aggiungi il user_pat come secret per poterlo utilizzare nei chart.
Per definire una nuova risorsa ClusterSecretStore, crea un file clustersecretstore.yaml con il seguente contenuto:
È supportata solo l'autenticazione tramite token.
Questa integrazione funziona anche con un SecretStore.
Il nome della regione può essere ricavato dalla posizione della tua regione utilizzando:
Ad esempio, per Europe (France - Paris), l'endpoint OKMS è eu-west-par.okms.ovh.net.
Esegui il deploy della risorsa nel tuo cluster:
Utilizzo dell'External Secrets Operator
Una volta configurato il ClusterSecretStore, puoi definire gli ExternalSecret provenienti dal Secret Manager.
Crea un file externalsecret.yaml con il seguente contenuto:
Applica la risorsa nel tuo cluster:
Questo creerà un oggetto Secret Kubernetes.
Per ulteriori informazioni sulla gestione dell'External Secrets Operator, consulta la documentazione dedicata, utilizzando il provider HashiCorp Vault: https://external-secrets.io/latest/.
Per saperne di più
Utilizzare il Secret Manager con l'API REST
Contatta la nostra Community di utenti.