在 Kubernetes 中保持 pod 卷挂载可配置

Keeping pod volume mount configurable in Kubernetes

是否可以保持卷挂载可配置,以便我可以选择在 POD 创建期间挂载任何特定的持久卷声明?

我有一个卷声明列表,我希望以某种方式配置我的 PodSpec,这样我就可以决定将哪个声明用作卷安装,而不必每次都修改 YAML。

我可以在创建新 pod 之前 运行 在集群上执行额外的 kubectl 命令。

根据您在此处和 slack 中的描述https://kubernetes.slack.com/archives/C09NXKJKA/p1559740826069800

首先,没有交互式部署 yaml 的方式让您在 run-time 期间选择。因此,Yaml 是声明性的,您声明然后应用。不问任何问题,除非你有语法错误!

其次,如果您正在寻找 Sysadm 将在生产中应用的 kubectl 命令。然后在部署 dev yaml 之后,您可以使用(类似于您的用例的东西)kubectl patch [资源名称示例 pod] --patch '{"spec":{"volumes":[{"name": "glusterfsvol","persistentVolumeClaim": {"claimName": "nameOfNewVolumeClaim"}}]}}'

最后,在您的用例中更具体的是使用不同的 storageclass in your dev and another one in production. In that you can have the same pvc which point to a different storage as it is defined in that k8s cluster. refer docs