Jenkins Kubernetes: монтировать подпуть тома
Насколько я понял, kubernetes api позволяет монтировать подпуть pvc в контейнер в volumeMounts
спец.
В моем примере я хочу установить ПВХ my-pvc
, но в подкаталоге /my-subpath
к /my-mount
.
Итак, каталог /my-subpath
на my-pvc
будет установлен в контейнере под /my-mount
.
При обычном использовании Kubernetes это выглядело бы следующим образом, если бы я понял документацию:
volumeMounts:
- mountPath: /my-mount
name: my-pvc
subPath: "my-subpath"
Моя проблема сейчас в том, что в плагине jenkins kubernetes это кажется невозможным.
Если я правильно понял документы, кажется, что можно смонтировать только корневой каталог, т.е./
, ПВХ my-pvc
к /my-mount
в контейнере, так как нет subPath
вариант:
Что-то мне не хватает, или это просто невозможно?
1 ответ
Это невозможно из-за доступных опций плагина Jenkins Kubernetes ATM. Но все же вы можете добиться этого, применив необработанный шаблон модуля в конфигурации облачного модуля Kubernetes.
Пример вывода
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