EKS 中的持久存储无法配置卷

clo*_*viz 10 amazon-web-services kubernetes persistent-volumes kubernetes-pvc amazon-eks

我按照知识库中的步骤AWS创建持久存储:在 Amazon EKS 中使用持久存储

不幸的是,PersistentVolume(PV)没有创建:

kubectl get pv
No resources found
Run Code Online (Sandbox Code Playgroud)

当我检查 PVC 日志时,收到以下配置失败消息:

storageclass.storage.k8s.io "ebs-sc" not found

failed to provision volume with StorageClass "ebs-sc": rpc error: code = DeadlineExceeded desc = context deadline exceeded
Run Code Online (Sandbox Code Playgroud)

我在用着Kubernetes v1.21.2-eks-0389ca3


更新:

示例中使用的 storageclass.yaml 将配置程序设置为 ebs.csi.aws.com

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: ebs-sc
provisioner: ebs.csi.aws.com
volumeBindingMode: WaitForFirstConsumer
Run Code Online (Sandbox Code Playgroud)

当我使用 @gohm'c 答案更新它时,它创建了一个 pv。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ebs-sc
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp2
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
Run Code Online (Sandbox Code Playgroud)

goh*_*m'c 8

storageclass.storage.k8s.io "ebs-sc" not found

failed to provision volume with StorageClass "ebs-sc"
Run Code Online (Sandbox Code Playgroud)

安装EBS CSI驱动程序后,您需要创建存储类“ebs-sc”,例如:

cat << EOF | kubectl apply -f -
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ebs-sc
provisioner: ebs.csi.aws.com
parameters:
  type: gp3
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
EOF
Run Code Online (Sandbox Code Playgroud)

请参阅此处了解更多选项。


小智 5

检查 aws-ebs-csi-driver 是否正在运行

kubectl get deployment -n kube-system
NAME                 READY   UP-TO-DATE   AVAILABLE   AGE
coredns              2/2     2            2           14d
ebs-csi-controller   2/2     2            2           53m
Run Code Online (Sandbox Code Playgroud)

如果没有,则将此服务添加到您的 EKS 集群中 https://docs.aws.amazon.com/eks/latest/userguide/managing-ebs-csi.html

不要忘记在您的 NodeRole 中添加AmazonEBSCSIDriverPolicy

别忘了谢谢我:D