我正在使用 Kubernetes 运行 Docker 映像。我想将正在使用的图像的摘要传递给容器。这样容器内的代码就可以使用它来调试/记录日志。问题是,如果不将图像摘要硬编码到 Pod 配置中,我似乎无法找到一种方法来做到这一点。
有没有办法定义 pod 配置方式,以便它动态地将摘要作为环境变量传递给最终使用的 Docker 映像版本?
无论 Kubernetes 知道什么,都可以使用向下的 API注入。该数据集位于Pod 对象的 API 参考中。
看起来这应该有效:
env:
- name: DOCKER_IMAGE_ID
valueFrom:
fieldRef:
fieldPath: status.containerStatuses[0].imageID
Run Code Online (Sandbox Code Playgroud)
您可能更喜欢注入spec.containers[0].image名称,这样事后会更容易理解。如果您使用Helm这样的工具来生成配置,您还可以使用它的值系统:
image: {{ .Values.image }}:{{ .Values.tag }}
env:
- name: DOCKER_IMAGE_TAG
value: {{ .Values.tag }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1349 次 |
| 最近记录: |