在 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 将配置新的持久存储。