0

据我了解,kubernetes api 允许将 pvc 的子路径挂载到volumeMounts规范中的容器中。

在我的示例中,我想挂载 pvc my-pvc,但在子目录/my-subpath/my-mount

所以目录/my-subpathonmy-pvc将被挂载在容器中/my-mount

正常使用 Kubernetes 时,如果我理解文档,这将如下所示:

volumeMounts:
- mountPath: /my-mount
      name: my-pvc
      subPath: "my-subpath"

我现在的问题是,在 jenkins kubernetes 插件中这似乎是不可能的。

如果我正确理解了文档,似乎只能将 pvc 的根目录(即/pvc的根目录)挂载my-pvc/my-mount容器中,因为没有subPath选项: Jenkins 文档截图

有什么我遗漏的,还是不可能做到这一点?

4

1 回答 1

0

Jenkins Kubernetes 插件 ATM 的可用选项是不可能的。但是,您仍然可以通过在 Kubernetes 云 pod 配置中应用原始 pod 模板来实现这一点。

样本输出

Started by user admin
Replayed #11
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] podTemplate
[Pipeline] {
[Pipeline] node
Still waiting to schedule task
‘hello-docker-j0rk6’ is offline
Agent hello-docker-j0rk6 is provisioned from template hello-docker
---
apiVersion: "v1"
kind: "Pod"
metadata:
  annotations: {}
  labels:
    run: "hello-docker"
    jenkins: "slave"
    jenkins/label: "hello-docker"
  name: "hello-docker-j0rk6"
spec:
  containers:
  - command:
    - "cat"
    image: "jenkins/jnlp-slave:3.27-1-alpine"
    name: "hello-docker"
    resources: {}
    tty: true
    volumeMounts:
    - mountPath: "/app/logs"
      name: "tmp"
      subPath: "logs"
    - mountPath: "/home/jenkins/agent"
      name: "workspace-volume"
      readOnly: false
于 2020-05-28T17:40:38.137 回答