#kubernetes #persistent-volumes #kubernetes-pvc
#kubernetes #постоянные тома #kubernetes-pvc
Вопрос:
Я пытался увеличить размер PVC с 10G до 20G, поскольку мы работаем на версии 1.9.3, где это невозможно сделать онлайн. Итак, я удалил PVC и создал с новым значением 20G в качестве хранилища.
pvc-b196868cd-bc75-12e8-ad32-075738325c 100Gi RWO Retain Released myapp/myapp-backup-pv-claim` persistent 4m
Когда я удалил, статус PV изменился на «Выпущен», и когда я попытался воссоздать PVC, он был создан, но со статусом «утерян»
myapp-myapp-backup-pv-claim Lost pvc-03b34iknca1-6fr3-19ea-af3b-0073yh2u97f 0 ntfts19-k8s-0101 13m
Мы используем тома Vsphere. Попробовал решение «kubectl patch pv pv-for-rabbitmq -p ‘{«spec»:{«claimRef»: null}}'» это помогло мне вернуть pv в статус «Доступно», теперь ПВХ находится в состоянии «Ожидание».
pvc-b196868cd-bc75-12e8-ad32-075738325c 100Gi RWO Retain Available myapp/myapp-backup-pv-claim` persistent 2m
myapp-myapp-backup-pv-claim Pending pvc-03b34iknca1-6fr3-19ea-af3b-0073yh2u97f 0 ntfts19-k8s-0101 28m
Описание PV:
Name: myapp-myapp-backup-pv-claim
Namespace: myapp
StorageClass: ntfts19-k8s-0101
Status: Pending
Volume: pvc-03b34iknca1-6fr3-19ea-af3b-0073yh2u97f
Labels: app=my-app
Annotations: <none>
Finalizers: []
Capacity: 0
Access Modes:
Events: <none>
Описание PVC:
Name: pvc-b196868cd-bc75-12e8-ad32-075738325c
Labels: <none>
Annotations: <none>
StorageClass: persistent
Status: Available
Claim: myapp/myapp-backup-pv-claim
Reclaim Policy: Retain
Access Modes: RWO
Capacity: 100Gi
Message:
Source:
Type: vSphereVolume (a Persistent Disk resource in vSphere)
VolumePath: StoragePolicyName: %v
FSType: [dsNTFTS19_0101] kubevols/kubernetes-dynamic-pvc-b196868cd-bc75-12e8-ad32-075738325c.vmdk
%!(EXTRA string=ext4, string=)Events: <none>
Комментарии:
1. Не могли бы вы вставить выходные данные kubectl describe <<постоянный объем>> и kubectl describe <<утверждение о постоянном объеме>>
2. Описал pv и pvc, но теперь это другая проблема, поэтому я изменил вопрос.
Ответ №1:
Проблема заключалась в отсутствии аннотаций, поскольку это хранилище vSphere, аннотации volume.beta.kubernetes.io/storage-provisioner=kubernetes.io/vsphere-volume
являются обязательными.
Ответ №2:
Класс хранилища для PV и PVC должен быть одинаковым. Панель управления может связать PVC с PV только в том случае, если она может найти PV с тем же классом хранения.
У вас есть PV storageClass: ntfts19-k8s-0101
и у вашего PVC есть storageClass: persistent
. Таким образом, control plane не смог найти соответствующий PV, у которого есть постоянный класс StorageClass.
Удалите и воссоздайте PVC в соответствии с классом хранения PV.
Пожалуйста, обратитесь к официальной документации
Комментарии:
1. Я изменил класс хранения PVC на
ntfts19-k8s-0101
, но это не устранило проблему, она все еще находится в состоянии ожидания. Также я попытался изменить их оба на постоянный класс хранения, но безуспешно.2. Не могли бы вы также обновить свои режимы доступа, чтобы они соответствовали PV?
3. Для обоих режимов доступа уже установлено значение ‘ReadWriteOnce’, но при описании pvc он не показывает никаких режимов доступа.