如何在 digitalocean 上的集群中设置存储 class

How to set storage class in a cluster on digitalocean

我在 digitalocean 上使用 Kubeadm 和 3 个 droplets 创建了一个 kubernetes 集群。

...在为我正在处理的 node-mongodb pod 创建 persistentVolumeClaim 时,使用 kubectl get storageclass,我尝试访问默认存储 class 而不是 No resource found

我期望这个输出:

Output
NAME                         PROVISIONER                 AGE
do-block-storage (default)   dobs.csi.digitalocean.com   21m

这似乎不是使用 digitalocean 的控制台创建集群时的问题。

如何使用 kubectl 设置默认存储空间 class?

我尝试参考默认存储 class 创建 PVC,但由于它没有指向 dobs.csi.digitalocean.com,当我 运行 配置并检查创建的 pvc -

kubectl get pvc

NAME     STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS       AGE
dbdata   Pending                                      do-block-storage   2m1s

kubectl decribe pvc dbata

Name:          dbdata
Namespace:     default
StorageClass:  do-block-storage
Status:        Pending
Volume:        
Labels:        io.kompose.service=dbdata
Annotations:   <none>
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      
Access Modes:  
VolumeMode:    Filesystem
Events:
  Type       Reason              Age                  From                         Message
  ----       ------              ----                 ----                         -------
  Warning    ProvisioningFailed  37s (x8 over 2m54s)  persistentvolume-controller  storageclass.storage.k8s.io "do-block-storage" not found
Mounted By:  db-845bd9968b-hrtfw

~/dbdata-persistedvolumeclaim.yaml 文件

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  creationTimestamp: null
  labels:
    io.kompose.service: dbdata
  name: dbdata
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: do-block-storage
status: {}

如何使用 kubectl 设置默认存储空间 class?

由于这不是来自 Digital ocean 的托管 Kubernetes 集群,您需要按照文档手动设置它 here

  1. 使用您的 DigitalOcean 创建一个秘密 API 访问令牌
  2. 部署 CSI 插件和 sidecars