gpt4 book ai didi

kubernetes:使用 valueFrom 在环境变量中使用 runAsUser 的值?

转载 作者:行者123 更新时间:2023-12-02 12:25:03 30 4
gpt4 key购买 nike

我有一个 kubernetes 部署,它启动一个 pod,该 pod 在其 securityContext 中包含一个 runAsUser 键。我希望我可以使用 valueFrom 将此值保留在 initContainer 的环境中,像这样:

apiVersion: apps/v1
kind: Deployment
metadata:
name: testdeployment
spec:
template:
spec:
containers:
- name: myservice
image: myimage
securityContext:
runAsUser: 1000
initContainers:
- name: initialize_things
image: myimage
env:
- name: CONTAINER_UID
valueFrom:
fieldRef:
fieldPath: spec.containers[0].securityContext.runAsUser

这似乎行不通:

The Deployment "testdeployment" is invalid: spec.template.spec.initContainers[0].env[0].valueFrom.fieldRef.fieldPath: Invalid value: "spec.containers[0].securityContext.runAsUser": error converting fieldPath: field label not supported: spec.containers[0].securityContext.runAsUser

有什么办法可以实现吗?我正在尝试减少对该 UID 进行硬编码的位置数。

最佳答案

我认为你无法完成这项工作,因为 The downward API 不支持 spec.containers[0].securityContext.runAsUser 作为字段。

顺便说一句,在你的情况下更合乎逻辑的是放置完整路径,我的意思是 spec.template.spec.containers[0].securityContext.runAsUser,但无论如何,它不会帮助

根据 Capabilities of the Downward API - 您只能使用几个字段

Information available via fieldRef:
metadata.name
metadata.namespace
metadata.uid
metadata.labels['<KEY>']
metadata.annotations['<KEY>']

In addition, the following information is available through downwardAPI volume fieldRef:
metadata.labels
metadata.annotations

The following information is available through environment variables:
status.podIP
spec.serviceAccountName
spec.nodeName
status.hostIP

您可以在 github 上找到非常相似的问题:how to get imageID in container

关于kubernetes:使用 valueFrom 在环境变量中使用 runAsUser 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64299984/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com