Итак, у меня есть кластер Kubernetes с 4 узлами (виртуальными машинами), созданный с помощью Kubespray. У меня есть кластер Ceph, настроенный из Proxmox, и пул доступен для k8s. Я прекрасно могу выполнять развертывание с использованием Ceph.
Но когда я хочу изменить размер контейнера, я сталкиваюсь с длинным списком проблем.
Когда я пытался изменить размер, вместо того, чтобы использовать kube-system/rbd-provisioner
pod, он пытается использовать kube-system/kube-controller-manager
изменить его размер. Первоначально это не удалось, потому что контейнер не имеет rbd
команда установлена. Я исправил это, переключив image
в /etc/kubernetes/manifests/kube-controller-manager.yaml
из gcr.io/google-containers/kube-controller-manager:v1.15.1
к image: gcr.io/google_containers/hyperkube:v1.14.6
, так как это изображение включает rbd
двоичный.
Теперь он может пытаться изменить размер тома. Но он все равно терпит неудачу, когда пытается. Отображаемая ошибка:
Ошибка «VolumeResizeFailed» при расширении тома «default / test-pvc» плагина «kubernetes.io/rbd»: сбой информации rbd, ошибка: статус выхода 110
StorageClass выглядит следующим образом:
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: kubedata-rbd
provisioner: ceph.com/rbd
allowVolumeExpansion: true
parameters:
monitors: 10.10.10.2:6789
adminId: admin
adminSecretName: ceph-secret
adminSecretNamespace: kube-system
pool: Kubedata
userId: kube
userSecretName: ceph-secret-kube
userSecretNamespace: kube-system
imageFormat: "2"
imageFeatures: layering
Как я могу изменить размер PVC, созданных Ceph? Я даже пытался вручную изменить их размер на узле ceph, а затем редактировать размер заявки, но это не обновляется, чтобы отразить новый размер.