【发布时间】:2018-07-24 05:58:35
【问题描述】:
我正在尝试运行Jenkins Helm chart。作为此设置的一部分,我想传入一个我提前配置的持久卷(或者可能在迁移期间从另一个集群导出)。
我正在尝试设置我的持久卷 (PV) 和持久卷声明 (PVC),这样当 Jenkins 启动时,它会使用我预定义的 PV 和 PVC。
我认为问题源于 Azure 磁盘的持久存储定义指向我的存储帐户中的 VHD。有什么方法可以将其指向现有的托管磁盘而不是 blob?
这就是我使用 Azure 托管磁盘设置持久存储的方式
apiVersion: v1
kind: PersistentVolume
metadata:
name: jenkins-home
spec:
capacity:
storage: 10Gi
storageClassName: default
azureDisk:
diskName: jenkins-home
diskURI: https://<storageaccount>.blob.core.windows.net/jenkins-data/jenkins-home.vhd
fsType: ext4
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
claimRef:
name: jenkins-home-pvc
namespace: default
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jenkins-home-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: default
然后我像这样开始掌舵......
helm install --name jenkins stable/jenkins --values=values.yaml
我的values.yaml 文件的样子
Persistence:
ExistingClaim: jenkins-home-pvc
这是我在 Jenkins 的 pod 启动时收到的错误消息。
AttachVolume.Attach 卷“jenkins-home”失败:将卷“jenkins-home”附加到实例“aks-agentpool-40897452-0”失败,compute.VirtualMachinesClient#CreateOrUpdate:响应请求失败:StatusCode=409 - - 原始错误:autorest/azure:服务返回错误。 Status=409 Code="OperationNotAllowed" Message="不支持将基于 blob 的磁盘添加到具有托管磁盘的 VM。"
【问题讨论】:
标签: azure kubernetes persistent-volumes