当容器发生宕机故障时,有状态服务容器存储的业务数据存在着丢失和不可靠等风险。使用持久化存储可以解决该问题。本文介绍如何使用云盘动态存储卷实现持久化存储。
背景信息
动态云盘的使用场景:
没有购买云盘,在应用部署时自动购买云盘的情况。
动态云盘的使用方式:
- 手动创建PVC,在PVC中声明StorageClass。
- 部署应用时通过StorageClass自动创建PV。
前提条件
- 已创建Kubernetes集群,请参见创建Kubernetes托管版集群。
- 已通过kubectl连接到Kubernetes集群,请参见通过kubectl连接Kubernetes集群。
- 集群中已安装Provisioner插件,该插件可以根据StorageClass自动创建云盘。
Provisioner插件
容器服务Kubernetes版在创建集群时,默认安装Provisioner插件。
创建StorageClass
阿里云容器服务Kubernetes在系统初始化的时候会默认创建4个StorageClass,且使用参数的默认情况。同时这4个StorageClass仅适用于单可用区集群,若是多可用区集群,则需要您创建StorageClass。这4个StorageClass分别为:
- alicloud-disk-common:自动创建普通云盘。
- alicloud-disk-efficiency:自动创建高效云盘。
- alicloud-disk-ssd:自动创建SSD云盘。
- alicloud-disk-available:提供高可用选项,先尝试自动创建SSD云盘;如果相应可用区的SSD云盘资源售尽,再尝试自动创建高效云盘。
创建PVC
在目标集群的页面下单击左侧导航栏的 ,可以看到该PVC绑定的存储类型为StorageClass
中声明的alicloud-disk-ssd-hangzhou-b,并且关联存储卷。
创建应用
在目标集群页面下单击左侧导航栏的 ,可以看到刚刚创建的Deployment。
