通过命令行使用动态云盘卷
动态存储卷需要您手动创建 StorageClass,并在PVC中通过 storageClassName 来指定期望的云盘类型。
创建 StorageClass
说明 参数说明:
provisioner
:配置为 alicloud/disk,标识StorageClass使用阿里云云盘 provisioner 插件创建。type
:标识云盘类型,支持 cloud、cloud_efficiency、cloud_ssd、cloud_essd、available 四种类型;其中 available
会对高效、ESSD、SSD依次尝试创建,直到创建成功。regionid
:期望创建云盘的区域。reclaimPolicy
:云盘的回收策略,默认为Delete,支持Retain。如果数据安全性要求高,推荐使用Retain方式以免误删。- zoneid:期望创建云盘的可用区。
如果是多可用区的情况,zoneid可同时配置多个,示例如下:
zoneid: cn-hangzhou-a,cn-hangzhou-b,cn-hangzhou-c
encrypted
:可选参数。创建的云盘是否加密,默认情况是false,创建的云盘不加密。
创建PVC
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: disk-ssd
spec:
accessModes:
- ReadWriteOnce
storageClassName: alicloud-disk-ssd-hangzhou-b
resources:
requests:
storage: 20Gi
---
kind: Pod
apiVersion: v1
metadata:
name: disk-pod-ssd
spec:
containers:
- name: disk-pod
image: nginx
volumeMounts:
- name: disk-pvc
mountPath: "/mnt"
restartPolicy: "Never"
volumes:
- name: disk-pvc
persistentVolumeClaim:
claimName: disk-ssd
默认选项:
在多可用区的集群中,需要您手动创建上述 StorageClass,这样可以更准确的定义所需要云盘的可用区信息。
集群默认提供了下面几种 StorageClass,可以在单可用区类型的集群中使用。
- alicloud-disk-efficiency:高效云盘。
- alicloud-disk-ssd:SSD云盘。
- alicloud-disk-essd:ESSD云盘。
- alicloud-disk-available:提供高可用选项,优先创建高效云盘。
如果相应可用区的高效云盘资源售尽,则优先创建SSD盘;如果SSD也售尽,则创建ESSD盘。
使用云盘创建多实例StatefulSet
使用 volumeClaimTemplates 的方式来创建,这样会动态创建多个 PVC 和 PV 并绑定。
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
ports:
- port: 80
name: web
clusterIP: None
selector:
app: nginx
---
apiVersion: apps/v1beta2
kind: StatefulSet
metadata:
name: web
spec:
selector:
matchLabels:
app: nginx
serviceName: "nginx"
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
name: web
volumeMounts:
- name: disk-ssd
mountPath: /data
volumeClaimTemplates:
- metadata:
name: disk-ssd
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "alicloud-disk-ssd-hangzhou-b"
resources:
requests:
storage: 20Gi
您也可以通过控制台的方式使用动态云盘卷,请参见通过控制台使用动态云盘卷。
发布者:佚, 佚名,转转请注明出处:https://www.cms2.cn/aliyun/csk/5395.html