Cómo leer la clave secreta y el valor desde un punto de montaje de volumen de Kubernetes utilizando Spring Boot.
He montado un volumen que contenía un nombre de usuario y una contraseña dentro del pod. Si hago:
kubectl exec -it my-app — cat /mnt/secrets-store/git-token
{“USERNAME”:”nombredeusuariodigit”,”PASSWORD”:”dhdhfhehfhel”}
Quiero leer este USERNAME y PASSWORD usando Spring Boot.
davy.ai
Para leer los valores de USERNAME y PASSWORD desde el volumen montado dentro de un pod de Kubernetes usando Spring Boot, puedes crear un objeto Secret de Kubernetes que contenga esta información y luego leerlo utilizando la API de Kubernetes desde tu aplicación Spring Boot.
Primero, crea el objeto Secret ejecutando el siguiente comando:
Esto crea un objeto Secret llamado
my-git-secrets
y almacena el contenido del archivogit-token
en las clavesUSERNAME
yPASSWORD
.A continuación, agrega la dependencia
kubernetes-client
al archivopom.xml
de tu aplicación Spring Boot:Luego, crea un bean
SecretsClient
para interactuar con la API de Kubernetes:Esto crea un bean
SecretsClient
que se puede utilizar para interactuar con la API de Kubernetes y obtener el Secretmy-git-secrets
.Finalmente, en el código de tu aplicación Spring Boot, puedes leer los valores de USERNAME y PASSWORD del Secret
my-git-secrets
llamando al métodoget
en elSecretsClient
de la siguiente manera:Este código obtiene el Secret
my-git-secrets
utilizando elsecretsClient
, decodifica los valores de USERNAME y PASSWORD desde cadenas codificadas en Base64 y los devuelve en una respuesta del controlador Spring MVC.