繁体   English   中英

使用 nodejs 应用程序中的 k8s 密钥

[英]use k8s secret from nodejs application

我创建了以下示例程序,我需要创建秘密值

index.js

const express = require("express");
const port = process.env.PORT || 3000;


app = express();
app.get('/', (req, res) => (
    res.send("hello from k8s"))
)

app.listen(3000, function () {
    console.log("my secret ---> ", process.env.TOKEN1)
    console.log("server is listen to port", port)
})

这是秘密。yaml

apiVersion: v1
kind: Secret
metadata:
  name: secert1
  namespace: trail
type: Opaque
data:
  TOKEN1: cmVhbGx5X3NlY3JldF92YWx1ZTE=

这就是我在他们之间建立联系的方式

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app1
  namespace: trail
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: app1
    spec:
      containers:
        - name: app1
          image: myimage
          imagePullPolicy: Always
          ports:
            - containerPort: 5000
          env:
            - name: myenv
              valueFrom:
                secretKeyRef:
                  name: secert1
                  key: TOKEN1



部署程序时我在 k8s 日志中看到


my secret --->  undefined
server is listen to port 5000

我在这里想念什么? 另外假设我需要从我的应用程序中读取 20 多个属性,是否有更好的方法或者只是 map 密钥中的每个键值?

name是 env var 的键,因此对于您所拥有的,应该是process.env.myenv 您可能希望使用envFrom选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM