Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

348
Vistas
Cómo completar el valor del archivo application.properties de kubernetes Secrets montado como archivo

Estoy trabajando en Springboot y Kubernetes y tengo una aplicación realmente simple que se conecta a la base de datos de Postgres. Quiero obtener el valor de la fuente de datos del mapa de configuración y la contraseña de los secretos como archivo de montaje.

Archivo de mapa de configuración:

 apiVersion: v1 kind: ConfigMap metadata: name: customer-config data: application.properties: | server.forward-headers-strategy=framework spring.datasource.url=jdbc:postgresql://test/customer spring.datasource.username=postgres

Archivo secretos:

 apiVersion: v1 kind: Secret metadata: name: secret-demo data: spring.datasource.password: cG9zdGdyZXM=

archivo de implementación:

 spec: containers: - name: customerc image: localhost:8080/customer imagePullPolicy: IfNotPresent ports: - containerPort: 8282 volumeMounts: - mountPath: /workspace/config/default name: config-volume - mountPath: /workspace/secret/default name: secret-volume volumes: - name: config-volume configMap: name: customer-config - name: secret-volume secret: secretName: secret-demo items: - key: spring.datasource.password path: password

Si muevo spring.datasource.password prop de secreto a configmap, entonces funciona bien o si completo su valor como variable env, entonces también funciona bien. Pero como sabemos que ninguno de los dos es una forma segura de hacerlo, ¿alguien puede decirme qué hay de malo con el montaje de archivos para secretos?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Spring Boot 2.4 agregó soporte para importar un árbol de configuración . Este soporte se puede utilizar para consumir la configuración de un volumen montado por Kubernetes.

Como ejemplo, imaginemos que Kubernetes ha montado el siguiente volumen:

 etc/ config/ myapp/ username password

El contenido del archivo de nombre de usuario sería un valor de configuración y el contenido de la contraseña sería un secreto.

Para importar estas propiedades, puede agregar lo siguiente a su archivo application.properties:

 spring.config.import=optional:configtree:/etc/config/

Esto dará como resultado que se establezcan las propiedades myapp.username y myapp.password . Sus valores serán los contenidos de /etc/config/myapp/username y /etc/config/myapp/password respectivamente.

over 4 years ago · Santiago Trujillo Denunciar

0

De manera predeterminada, el consumo de secretos a través de la API no está habilitado por razones de seguridad. Spring Cloud Kubernetes requiere acceso a la API de Kubernetes para poder recuperar una lista de direcciones de pods que se ejecutan para un solo servicio. La forma más sencilla de hacerlo cuando se usa Minikube es crear un ClusterRoleBinding predeterminado con privilegios de administrador de clúster.

Ejemplo de cómo crear uno: -

$ kubectl create clusterrolebinding admin --clusterrole=cluster-admin --serviceaccount=predeterminado:predeterminado

over 4 years ago · Santiago Trujillo Denunciar

0

Debe proporcionar un tipo de secreto en el archivo de manifiesto. Espero que funcione.

 apiVersion: v1 kind: Secret metadata: name: secret-demo type: Opaque data: spring.datasource.password: cG9zdGdyZXM
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda