【问题标题】:How do I load environment variables in main container如何在主容器中加载环境变量
【发布时间】:2020-10-15 10:53:37
【问题描述】:

我试图在初始化容器中获取秘密并将它们传递给主容器。我有两个问题,

  1. 如何在初始化容器中传递外部机密
  2. 如何在主容器中调用它们作为环境变量

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    您可以在 initContainer 和 mainContainer 上挂载与环境变量相同的密钥。

    给定一个秘密,例如:

    k create secret generic mysecret --from-literal=key=secret
    

    这将是这样的:

    apiVersion: v1
    kind: Pod
    metadata:
      creationTimestamp: null
      labels:
        run: mypod
      name: mypod
    spec:
      initContainers:
      - name: init
        image: busybox
        env:
        - name: SECRET
          valueFrom:
            secretKeyRef:
              name: mysecret
              key: key
        command: ['sh','-c','echo $SECRET']
      containers:
      - image: busybox
        name: mypod
        resources: {}
        env:
        - name: SECRET
          valueFrom:
            secretKeyRef:
              name: mysecret
              key: key
        command: ['sh','-c','echo $SECRET']
      dnsPolicy: ClusterFirst
      restartPolicy: Never
    status: {}
    

    在运行 pod 时,看到它们都在打印相同秘密的内容。

    kubectl logs mypod -c init
    secret
    
    kubectl logs mypod
    secret
    

    【讨论】:

      猜你喜欢
      • 2020-01-28
      • 1970-01-01
      • 2021-09-29
      • 1970-01-01
      • 2018-09-09
      • 2020-01-22
      • 2019-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多