Мои ПВХ находятся в состоянии Pending
все время.
kubectl describe pvc project-s3-pvc
дает:
Name: project-s3-pvc
Namespace: default
StorageClass: gp2
Status: Pending
Volume:
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{},"name":"project-s3-pvc","namespace":"default"},"spec":{"ac...
volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/aws-ebs
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
Events: <none>
Mounted By: project-s3-86ccd56868-skvv5
✔ /data/project [kubernetes-aws L|✚ 10⚑ 66
kubectl get storageclass
дает:
NAME PROVISIONER AGE
default kubernetes.io/aws-ebs 1h
gp2 (default) kubernetes.io/aws-ebs 1h
Я использую кластер с 1 узлом, запущенный Kops:
kops create cluster --node-count 0 --zones eu-west-1a ${NAME} --master-size t2.large
# Change size from 2 to 0, since above node-count does seem to be ignored
kops edit ig --name=${NAME} nodes
kops edit cluster ${NAME}
# Add this to cluster specification
iam:
allowContainerRegistry: true
legacy: false
kops update cluster ${NAME} --yes
kubectl taint nodes --all node-role.kubernetes.io/master-node
Затем я добавляю PVC, например .:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: bomcheck-s3-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
Kops версия: Version 1.11.0 (git-2c2042465)
EDIT:
Когда я пытаюсь создать PV вручную:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-manual
spec:
accessModes:
- ReadWriteOnce
awsElasticBlockStore:
fsType: ext4
persistentVolumeReclaimPolicy: Delete
storageClassName: gp2
capacity:
storage: 30Gi
Я получаю: ValidationError(PersistentVolume.spec.awsElasticBlockStore): missing required field "volumeID" in io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource;
Означает ли это, что мне нужно создать том вперед в AWS вручную? Я хотел бы, чтобы объем был динамически обеспечен.
Любая идея, как отладить, почему PVC / PV не может быть предоставлен от имени моего AWS?