存储类 - Amazon EKS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

存储类

在 Kubernetes 版本 1.11 之前创建的 Amazon EKS 集群未创建有任何存储类。您必须为要使用的集群定义存储类,并且应为持久卷声明定义默认存储类。有关更多信息,请参阅 Kubernetes 文档中的存储类

注意

本主题使用树内 Amazon EBS 存储预配置程序。现有树内 Amazon EBS 插件 仍受支持,但通过使用 CSI 驱动程序,您可以从 Kubernetes 上游发行周期与 CSI 驱动程序发行周期的分离中获益。最终将弃用树内插件,改为使用 CSI 驱动程序。

为 Amazon EKS 集群创建 AWS 存储类

  1. 为存储类创建 AWS 存储类清单文件。下面的 gp2-storage-class.yaml 示例定义一个名为 gp2 的存储类,该类使用 Amazon EBS gp2 卷类型。

    有关 AWS 存储类的可用选项的更多信息,请参阅 Kubernetes 文档中的 AWS EBS

    kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: gp2 annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: kubernetes.io/aws-ebs parameters: type: gp2 fsType: ext4
  2. 使用 kubectl 从清单文件创建存储类。

    kubectl create -f gp2-storage-class.yaml

    输出:

    storageclass "gp2" created

定义默认存储类

  1. 列出集群的现有存储类。必须先定义存储类,然后才能将它设置为默认存储类。

    kubectl get storageclass

    输出:

    NAME PROVISIONER AGE gp2 kubernetes.io/aws-ebs 8m
  2. 选择一个存储类并通过设置 storageclass.kubernetes.io/is-default-class=true 注释来将该存储类设置为默认存储类。

    kubectl patch storageclass <gp2> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

    输出:

    storageclass "gp2" patched
  3. 确认存储类现已设置为默认存储类。

    kubectl get storageclass

    输出:

    gp2 (default) kubernetes.io/aws-ebs 12m