gpt4 book ai didi

kubernetes - 在 Kubernetes 的路径中使用变量

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

我有一个带有两个容器的简单 StatefulSet。我只想通过 emptyDir 卷共享路径:

volumes:
- name: shared-folder
emptyDir: {}
第一个容器是一个busybox:
  - image: busybox
name: test
command:
- sleep
- "3600"
volumeMounts:
- mountPath: /cache
name: shared-folder
第二个容器在/cache/ 上创建一个文件。我想在 emptyDir 卷中挂载两个路径,以便能够在容器之间共享文件。
  volumeMounts:
- name: shared-folder
mountPath: /cache/$(HOSTNAME)
问题。 第二个容器不解析/cache/$(HOSTNAME) 所以它挂载/cache/$(HOSTNAME) 而不是挂载/cache/pod-0。我也试过获取 POD_NAME 并设置为 env 变量,但它也没有解决它。
有人知道是否可以在 mountPath 属性中使用这样的路径(带有环境变量)?

最佳答案

要将 mountpath 与 env 变量一起使用,您可以使用 subPath with expanded environment variables (k8s v1.17+)。
在您的情况下,它将如下所示:

containers:
- env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
volumeMounts:
- mountPath: /cache
name: shared-folder
subPathExpr: $(MY_POD_NAME)

关于kubernetes - 在 Kubernetes 的路径中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64576277/

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