小编yar*_*med的帖子

从Kubernetes Secret将数据导入配置映射

我正在使用一个kubernetes ConfigMap,其中包含一个应用程序的数据库配置,并且有一个包含数据库密码的秘密。我需要在ConfigMap中使用此密钥,因此当我尝试在ConfigMap中添加环境变量并从密钥中指定pod部署中的值时,由于ConfigMap中的值占用了密码,因此我无法使用密码连接到mysql变量的确切字符串。

apiVersion: v1
kind: ConfigMap
metadata:
  name: config
data:
  APP_CONFIG: |
    port: 8080
    databases:
      default:
        connector: mysql
        host: "mysql"
        port: "3306"
        user: "root"
        password: "$DB_PASSWORD"
Run Code Online (Sandbox Code Playgroud)

和deployment.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: app
  labels:
    app: backend
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: backend
    spec:
      containers:
      - name: app
        image: simple-app-image
        ports:
          - name: "8080"
            containerPort: 8080
        env:
          - name: APP_CONFIG
            valueFrom:
              configMapKeyRef:
                name: config
                key: APP_CONFIG
          - name: DB_PASSWORD
            valueFrom:
              secretKeyRef:
                name: "mysql-secret"
                key: "mysql-root-password"
Run Code Online (Sandbox Code Playgroud)

注意:秘密存在,我能够获取“ mysql-root-password”值并用于登录数据库

kubernetes kubernetes-secrets

7
推荐指数
1
解决办法
3801
查看次数

标签 统计

kubernetes ×1

kubernetes-secrets ×1