gpt4 book ai didi

kubernetes - StatefulSet-在volumemount期间获取启动pod

转载 作者:行者123 更新时间:2023-12-02 12:19:13 26 4
gpt4 key购买 nike

我有一个启动MySQL数据库的StatefulSet。目前唯一的缺点是,对于每个副本,我需要创建一个“持久卷”和“持久卷声明”,并选择与标签和podindex相匹配的选择。
这意味着如果没有手动交互,我将无法动态添加副本。

因此,我正在寻找一种解决方案,使我可以选择仅具有1个体积和1个 claim 。并且在 pods 创建期间,它在挂载期间知道自己的subPath pods 名称。 (在应用程序容器启动之前,将使用initContainer检查并在卷上创建目录)。

因此,我寻找一种正确的方式寻找类似的代码:

volumeMounts:
- name: mysql-datadir
mountPath: /var/lib/mysql
subPath: "${PODNAME}/datadir"

最佳答案

您可以通过设置ENV var从元数据(向下的API)中获取POD_NAME:

  env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name

但是,您不能在卷声明中使用 ENV vars(据我所知...)。因此,其他所有问题都可以通过解决方法来解决。解决方法之一是 here

关于kubernetes - StatefulSet-在volumemount期间获取启动pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52869727/

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