我有一个由云提供商提供的存储。可以通过PVC将存储安装到容器中。
有什么方法可以指定磁盘的子路径,然后安装到容器的特定路径。
我尝试了如下自定义值,但这不起作用。
Persistence:
Enabled: true
## A manually managed Persistent Volume and Claim
## Requires Persistence.Enabled: true
## If defined, PVC must be created manually before volume will be bound
ExistingClaim: ci-jenkins-data
## jenkins data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# StorageClass: "-"
Annotations: {}
AccessMode: ReadWriteOnce
Size: 100Gi
volumes:
- name: ci-jenkins-data
mountPath: /var/jenkins_home
subPath: /volume/jenkins
答案 0 :(得分:1)
由于一个PVC只能被声明一次,因此Iam假设您要在单个Pod中批量安装子文件夹。我在volumeMounts部分中指定了子路径,如下所示。
apiVersion: v1
kind: Pod
metadata:
name: my-lamp-site
spec:
containers:
- name: mysql
image: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: "rootpasswd"
volumeMounts:
- mountPath: /var/lib/mysql
name: site-data
subPath: mysql
- name: php
image: php:7.0-apache
volumeMounts:
- mountPath: /var/www/html
name: site-data
subPath: html
volumes:
- name: site-data
persistentVolumeClaim:
claimName: my-lamp-site-data
上面的摘录是从https://kubernetes.io/docs/concepts/storage/volumes/#using-subpath复制的
我确定您可能尝试过hostpath,但是1.9原始块卷支持可能会帮助您解决问题。
让我知道这是否有帮助。
问候 苏达喀尔