【发布时间】:2020-10-15 10:53:37
【问题描述】:
我试图在初始化容器中获取秘密并将它们传递给主容器。我有两个问题,
- 如何在初始化容器中传递外部机密
- 如何在主容器中调用它们作为环境变量
【问题讨论】:
标签: kubernetes
我试图在初始化容器中获取秘密并将它们传递给主容器。我有两个问题,
【问题讨论】:
标签: kubernetes
您可以在 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
【讨论】: