簡體   English   中英

如何在掌舵圖中引用 kubernetes 機密?

[英]How to reference kubernetes secrets in helm chart?

我想使用舵圖在 kubernetes 中進行一些部署。 這是我使用的示例覆蓋值 yaml:

imageRepository: ""

ocbb:
    imagePullPolicy: IfNotPresent
    TZ: UTC
    logDir: /oms_logs
    tnsAdmin: /oms/ora_k8
    LOG_LEVEL: 3
    wallet:
        client: 
        server: 
        root:
    db:
        deployment:
            imageName: init_db
            imageTag:
        host: 192.168.88.80
        port:
        service:
        alias:
        schemauser: pincloud
        schemapass:
        schematablespace: pincloud
        indextablespace: pincloudx
        nls_lang: AMERICAN_AMERICA.AL32UTF8
        charset: AL32UTF8
        pipelineschemauser: ifwcloud
        pipelineschemapass:
        pipelineschematablespace: ifwcloud
        pipelineindextablespace: ifwcloudx
        pipelinealias:
        queuename:

在此文件中,我必須設置一些涉及憑據的值,例如 schemapass、pipelineschemapass... 文檔狀態我必須生成 kubernetes 機密來執行此操作,並將此密鑰添加到具有相同路徑層次結構的 yaml 文件中。

我生成了一些 kubernetes 機密,例如:

kubectl create secret generic schemapass --from-literal=password='pincloud'

現在我不知道如何在我的 yaml 文件中引用這個新生成的秘密。 關於如何在 yaml 圖表中設置 schemapass 字段以引用 kubernetes 機密的任何提示?

您不能在values.yaml中使用 Kubernetes 密碼。 values.yaml ,您只需指定 Helm Chart 的輸入參數,因此它可以是密鑰名稱,而不是密鑰本身(或它解析的任何內容)。

如果要在容器中使用秘密,則可以將其作為環境變量插入:

env:
- name: SECRET_VALUE_ENV
  valueFrom:
    secretKeyRef:
      name: schemapass
      key: password

您可以在Hazelcast Enterprise Helm Chart中查看更多信息。 我們正是這樣做的。 您在values.yaml中指定秘密名稱,然后使用環境變量將秘密注入容器中。

您可以通過在容器中將 K8S 值指定為環境變量來引用 Helm 中的 K8S 值(無論是否機密)。

讓您的部署成為 mongo.yml

--
kind: Deployment
   --
      --
      containers:
        --
        env:
        - name: DB_URL
          valueFrom:
            configMapKeyRef:
              name: mongo-config
              key: mongo-url
        - name: MONGO_INITDB_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mongo-secret
              key: mongo-password  

mongo-secret 在哪里

apiVersion: v1
kind: Secret
metadata:
  name: mongo-secret
type: Opaque
data:
  mongo-user: bW9uZ291c2Vy
  mongo-password: bW9uZ29wYXNzd29yZA==

和 mongo-config 是

apiVersion: v1
kind: ConfigMap
metadata:
  name: mongo-config
data:
  mongo-url: mongo-service

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM