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

534
Vistas
¿Cómo usar los secretos de kubernetes en la aplicación nodejs?

Tengo un clúster de kubernetes en gcp , ejecutando mi aplicación express y node.js , operando operaciones CRUD con MongoDB .

Creé un secreto, que contiene el nombre de username y password , conectándome con el secreto especificado de mongoDB como environment en mi archivo kubernetes yml . Ahora mi pregunta es " Cómo acceder a ese nombre de usuario y contraseña en la aplicación node js para conectar mongoDB ".

Probé process.env.SECRET_USERNAME y process.env.SECRET_PASSWORD en la aplicación Node.JS , arroja undefined .

Cualquier idea será apreciada.

secreto.yaml

 apiVersion: v1 data: password: pppppppppppp== username: uuuuuuuuuuuu== kind: Secret metadata: creationTimestamp: 2018-07-11T11:43:25Z name: test-mongodb-secret namespace: default resourceVersion: "00999" selfLink: /api-path-to/secrets/test-mongodb-secret uid: 0900909-9090saiaa00-9dasd0aisa-as0a0s- type: Opaque

kubernetes.yaml

 apiVersion: extensions/v1beta1 kind: Deployment metadata: annotations:deployment.kubernetes.io/ revision: "4" creationTimestamp: 2018-07-11T11:09:45Z generation: 5 labels: name: test name: test namespace: default resourceVersion: "90909" selfLink: /api-path-to/default/deployments/test uid: htff50d-8gfhfa-11egfg-9gf1-42010gffgh0002a spec: replicas: 1 selector: matchLabels: name: test strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: creationTimestamp: null labels: name: test spec: containers: - env: - name: SECRET_USERNAME valueFrom: secretKeyRef: key: username name: test-mongodb-secret - name: SECRET_PASSWORD valueFrom: secretKeyRef: key: password name: test-mongodb-secret image: gcr-image/env-test_node:latest imagePullPolicy: Always name: env-test-node resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 status: availableReplicas: 1 conditions: - lastTransitionTime: 2018-07-11T11:10:18Z lastUpdateTime: 2018-07-11T11:10:18Z message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available observedGeneration: 5 readyReplicas: 1 replicas: 1 updatedReplicas: 1
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Su archivo kubernetes.yaml especifica qué variable de entorno almacenar su secreto para que las aplicaciones en ese espacio de nombres puedan acceder a él.

Usando la interfaz cli de kubectl secrets , puede cargar su secreto.

 kubectl create secret generic -n node-app test-mongodb-secret --from-literal=username=a-username --from-literal=password=a-secret-password

(el espacio de nombres arg -n node-app es opcional, de lo contrario se cargará en el espacio de nombres predeterminado)

Después de ejecutar este comando, puede verificar su tablero de kube para ver que el secreto se guardó

Luego, desde su aplicación de nodo, acceda a la variable de entorno process.env.SECRET_PASSWORD

Quizás en su caso, los secretos se crean en el espacio de nombres incorrecto, por lo tanto, no están undefined en su aplicación.

EDITAR 1

Su sangría para container.env parece ser incorrecta

 apiVersion: v1 kind: Pod metadata: name: secret-env-pod spec: containers: - name: mycontainer image: redis env: - name: SECRET_USERNAME valueFrom: secretKeyRef: name: mysecret key: username - name: SECRET_PASSWORD valueFrom: secretKeyRef: name: mysecret key: password restartPolicy: Never
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