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

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

存储类

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

注意

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

创建AmazonAmazon EKS 集群的存储类

  1. 确定群集已具有哪些存储类别。

    kubectl get storageclass

    输出

    NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2 (default) kubernetes.io/aws-ebs Delete WaitForFirstConsumer false 34m

    如果您的集群返回以前的输出,则它已在其余步骤中定义了存储类别。您可以使用部署任何 CSI 驱动程序的步骤来定义其他存储类别Storage章节。部署后,您可以将其中一个存储类设置为default (默认)存储类。

  2. 创建Amazon存储类的存储类清单文件。这些区域有:gp2-storage-class.yaml下面的示例定义一个名为gp2使用亚马逊 EBSgp2卷类型。

    有关可用选项的更多信息Amazon存储类,请参阅AmazonEBS在 Kubernetes 文档中。

    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
  3. 使用 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 annotate storageclass gp2 storageclass.kubernetes.io/is-default-class=true

    输出:

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

    kubectl get storageclass

    输出:

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