ans*_*ewe 3 azure kubernetes persistent-volumes
我正在尝试运行Jenkins Helm图表。作为此设置的一部分,我想传入我提前配置的永久卷(或在迁移过程中从另一个集群导出的永久卷)。
我正在尝试以这样的方式获取我的永久卷(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
Run Code Online (Sandbox Code Playgroud)
然后我像这样开始掌舵...
helm install --name jenkins stable/jenkins --values=values.yaml
Run Code Online (Sandbox Code Playgroud)
我的values.yaml文件看起来像什么
Persistence:
ExistingClaim: jenkins-home-pvc
Run Code Online (Sandbox Code Playgroud)
这是詹金斯(Jenkins)的pod启动时收到的错误。
卷“ jenkins-home”的AttachVolume.Attach失败:将卷“ jenkins-home”附加到实例“ aks-agentpool-40897452-0”时,compute.VirtualMachinesClient#CreateOrUpdate:响应请求失败:StatusCode = 409-原始错误:autorest / azure:服务返回错误。“ Status = 409 Code =” OperationNotAllowed“ Message =”不支持将基于Blob的磁盘添加到具有托管磁盘的VM。
我向这里的Azure团队提出了这个问题。
通过他们的帮助,我得出了以下解决方案...
以前我曾尝试使用托管磁盘资源ID,但是它对我大吼,说它期望使用.vhd文件。但是在添加了“ kind:Managed”之后,非常高兴地获得了托管磁盘资源ID。
当然,创建一个空的且格式化的托管磁盘是实现此功能的前提条件。还需要将托管磁盘复制到与AKS群集相同的资源组中。
所以现在我的PV和PVC看起来像这样,并且正在工作...
apiVersion: v1
kind: PersistentVolume
metadata:
name: jenkins-home
spec:
capacity:
storage: 10Gi
storageClassName: default
azureDisk:
kind: Managed
diskName: jenkins-home
diskURI: /subscriptions/{subscription-id}/resourceGroups/{aks-controlled-resource-group-name}/providers/Microsoft.Compute/disks/jenkins-home
fsType: ext4
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
claimRef:
name: jenkins-home-pvc
namespace: default
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jenkins-home-pvc
annotations:
volume.beta.kubernetes.io/storage-class: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: default
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1532 次 |
| 最近记录: |