在 SUSE® Rancher Prime 中动态配置新存储
先决条件
默认情况下启用以下存储卷插件:
名称 | 插件 |
---|---|
Amazon EBS Disk |
|
AzureFile |
|
AzureDisk |
|
Google Persistent Disk |
|
Longhorn |
|
VMware vSphere Volume |
|
本地 |
|
网络文件系统 |
|
hostPath |
|
如果你的存储卷插件没有在上述列表中,你需要使用功能开关来启用不受支持的存储驱动。
1. 添加一个存储类并将其配置为使用你的存储
这些步骤描述了如何在集群级别设置存储类:
-
点击 ☰ > 集群管理。
-
转到要动态配置持久存储卷的集群,然后单击 Explore。
-
单击
。 -
单击创建。
-
输入存储类的名称。
-
从 Provisioner 下拉列表中,选择要用于动态配置存储卷的服务。例如,如果你有一个 Amazon EC2 集群并且想要使用云存储,请使用
Amazon EBS Disk
。 -
在参数选项卡中,填写服务用于动态配置存储卷所需的信息。每个卷插件都需要不同的信息来动态配置存储卷。有关如何获取此信息的帮助,请参阅服务文档。
-
单击创建。
结果:存储类可供 PVC 使用。
有关存储类参数的完整信息,请参阅官方 Kubernetes 文档。
2. 为使用 StatefulSet 部署的 Pod 使用存储类
StatefulSet 管理 Pod 的部署和扩展,同时为每个 Pod 维护一个粘性标识。在这个 StatefulSet 中,我们将配置一个 VolumeClaimTemplate。StatefulSet 管理的每个 Pod 都将部署一个基于此 VolumeClaimTemplate 的 PersistentVolumeClaim。PersistentVolumeClaim 将引用我们创建的 StorageClass。因此,在部署 StatefulSet 管理的每个 Pod 时,都会使用 PersistentVolumeClaim 中定义的 StorageClass 来绑定到动态配置的存储。
-
点击 ☰ > 集群管理。
-
转到要将 StorageClass 用于工作负载的集群,然后单击 Explore。
-
在左侧导航栏中,单击工作负载。
-
单击创建。
-
单击 StatefulSet。
-
在卷声明模板选项卡上,单击添加声明模板。
-
输入持久卷的名称。
-
在存储类字段中,选择将为此 StatefulSet 管理的 pod 动态配置存储的 StorageClass。
-
在挂载点字段中,输入工作负载将用于访问卷的路径。
-
点击启动。
结果:StatefulSet 管理的每个 Pod 部署完成后,都会向 Kubernetes master 请求指定的磁盘空间。如果在部署工作负载时具有指定资源的 PV 是可用的,则 Kubernetes master 会将 PV 绑定到具有兼容 PVC 的 Pod。
要将 PVC 附加到现有工作负载,
-
点击 ☰ > 集群管理。
-
转到要将 StorageClass 用于工作负载的集群,然后单击 Explore。
-
在左侧导航栏中,单击工作负载。
-
单击 ⋮ > 编辑配置,转到使用由 StorageClass 配置的存储的工作负载。
-
在卷声明模板中,单击添加声明模板。
-
输入持久卷名称。
-
在存储类字段中,选择将为此 StatefulSet 管理的 pod 动态配置存储的 StorageClass。
-
在挂载点字段中,输入工作负载将用于访问卷的路径。
-
单击保存。
结果:工作负载将向 Kubernetes master 请求指定的磁盘空间。如果在部署工作负载时具有指定资源的 PV 是可用的,则 Kubernetes master 会将 PV 绑定到 PVC。否则,Rancher 将配置新的持久存储。