云服务器内容精选

  • 约束与限制 云硬盘不支持跨可用区挂载,且不支持被多个工作负载、同一个工作负载的多个实例或多个任务使用。由于CCE集群各节点之间暂不支持共享盘的数据共享功能,多个节点挂载使用同一个云硬盘可能会出现读写冲突、数据缓存冲突等问题,所以创建无状态工作负载时,若使用了EVS云硬盘,建议工作负载只选择一个实例。 1.19.10以下版本的集群中,如果使用HPA策略对挂载了EVS卷的负载进行扩容,当新Pod被调度到另一个节点时,会导致之前Pod不能正常读写。 1.19.10及以上版本集群中,如果使用HPA策略对挂载了EVS卷的负载进行扩容,新Pod会因为无法挂载云硬盘导致无法成功启动。 动态创建云硬盘存储卷时支持添加资源标签,且云硬盘创建完成后无法在CCE侧更新资源标签,需要前往云硬盘控制台更新。如果使用已有的云硬盘创建存储卷,也需要在云硬盘控制台添加或更新资源标签。
  • 验证数据持久化 查看部署的应用及云硬盘文件。 执行以下命令,查看已创建的Pod。 kubectl get pod | grep web-evs-auto 预期输出如下: web-evs-auto-0 1/1 Running 0 38s 执行以下命令,查看云硬盘是否挂载至/data路径。 kubectl exec web-evs-auto-0 -- df | grep data 预期输出如下: /dev/sdc 10255636 36888 10202364 0% /data 执行以下命令,查看/data路径下的文件。 kubectl exec web-evs-auto-0 -- ls /data 预期输出如下: lost+found 执行以下命令,在/data路径下创建static文件。 kubectl exec web-evs-auto-0 -- touch /data/static 执行以下命令,查看/data路径下的文件。 kubectl exec web-evs-auto-0 -- ls /data 预期输出如下: lost+found static 执行以下命令,删除名称为web-evs-auto-0的Pod。 kubectl delete pod web-evs-auto-0 预期输出如下: pod "web-evs-auto-0" deleted 删除后,StatefulSet控制器会自动重新创建一个同名副本。执行以下命令,验证/data路径下的文件是否更改。 kubectl exec web-evs-auto-0 -- ls /data 预期输出如下: lost+found static static文件仍然存在,则说明云硬盘中的数据可持久化保存。
  • 验证数据持久化 查看部署的应用及云硬盘文件。 执行以下命令,查看已创建的Pod。 kubectl get pod | grep statefulset-evs 预期输出如下: statefulset-evs-0 1/1 Running 0 45s statefulset-evs-1 1/1 Running 0 28s 执行以下命令,查看云硬盘是否挂载至/data路径。 kubectl exec statefulset-evs-0 -- df | grep data 预期输出如下: /dev/sdd 10255636 36888 10202364 0% /data 执行以下命令,查看/data路径下的文件。 kubectl exec statefulset-evs-0 -- ls /data 预期输出如下: lost+found 执行以下命令,在/data路径下创建static文件。 kubectl exec statefulset-evs-0 -- touch /data/static 执行以下命令,查看/data路径下的文件。 kubectl exec statefulset-evs-0 -- ls /data 预期输出如下: lost+found static 执行以下命令,删除名称为web-evs-auto-0的Pod。 kubectl delete pod statefulset-evs-0 预期输出如下: pod "statefulset-evs-0" deleted 删除后,StatefulSet控制器会自动重新创建一个同名副本。执行以下命令,验证/data路径下的文件是否更改。 kubectl exec statefulset-evs-0 -- ls /data 预期输出如下: lost+found static static文件仍然存在,则说明云硬盘中的数据可持久化保存。
  • 使用场景 动态挂载仅可在创建有状态负载时使用,通过卷声明模板(volumeClaimTemplates字段)实现,并依赖于StorageClass的动态创建PV能力。在多实例的有状态负载中,动态挂载可以为每一个Pod关联一个独有的PVC及PV,当Pod被重新调度后,仍然能够根据该PVC名称挂载原有的数据。而在无状态工作负载的普通挂载方式中,当存储支持多点挂载(ReadWriteMany)时,工作负载下的多个Pod会被挂载到同一个底层存储中。
  • 使用场景 快照功能可以帮助您实现以下需求: 日常备份数据 通过对云硬盘定期创建快照,实现数据的日常备份,可以应对由于误操作、病毒以及黑客攻击等导致数据丢失或不一致的情况。 快速恢复数据 更换操作系统、应用软件升级或业务数据迁移等重大操作前,您可以创建一份或多份快照,一旦升级或迁移过程中出现问题,可以通过快照及时将业务恢复到快照创建点的数据状态。 例如,当由于云服务器 A的系统盘 A发生故障而无法正常开机时,由于系统盘 A已经故障,因此也无法将快照数据回滚至系统盘A。此时您可以使用系统盘 A已有的快照新创建一块云硬盘 B并挂载至正常运行的云服务器 B上,从而云服务器 B能够通过云硬盘 B读取原系统盘 A的数据。 当前CCE提供的快照能力与K8s社区 CS I快照功能一致:只支持基于快照创建新云硬盘,不支持将快照回滚到源云硬盘。 快速部署多个业务 通过同一个快照可以快速创建出多个具有相同数据的云硬盘,从而可以同时为多种业务提供数据资源。例如数据挖掘、报表查询和开发测试等业务。这种方式既保护了原始数据,又能通过快照创建的新云硬盘快速部署其他业务,满足企业对业务数据的多元化需求。
  • 创建快照 使用控制台创建 登录CCE控制台。 单击集群名称进入集群,在左侧选择“容器存储”,在右侧选择“快照与备份”页签。 单击右上角“创建快照”,在弹出的窗口中设置相关参数。 快照名称:填写快照的名称。 选择存储:选择要创建快照的PVC,仅能创建云硬盘类型PVC。 单击“创建”。 使用YAML创建 kind: VolumeSnapshotapiVersion: snapshot.storage.k8s.io/v1beta1metadata: finalizers: - snapshot.storage.kubernetes.io/volumesnapshot-as-source-protection - snapshot.storage.kubernetes.io/volumesnapshot-bound-protection name: cce-disksnap-test namespace: defaultspec: source: persistentVolumeClaimName: pvc-evs-test # PVC的名称,仅能创建云硬盘类型PVC volumeSnapshotClassName: csi-disk-snapclass
  • 使用快照创建PVC 通过快照创建云硬盘PVC时,磁盘类型、磁盘模式、加密属性需和快照源云硬盘保持一致。 使用控制台创建 登录CCE控制台。 单击集群名称进入集群,在左侧选择“容器存储”,在右侧选择“快照与备份”页签。 找到需要创建PVC的快照,单击“创建存储卷声明”,并在弹出窗口中指定PVC的名称。 单击“创建”。 使用YAML创建 apiVersion: v1kind: PersistentVolumeClaimmetadata: name: pvc-test namespace: default annotations: everest.io/disk-volume-type: SSD # 云硬盘类型,需要与快照源云硬盘保持一致 labels: failure-domain.beta.kubernetes.io/region: cn-north-4 failure-domain.beta.kubernetes.io/zone: cn-north-4bspec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: csi-disk dataSource: name: cce-disksnap-test # 快照的名称 kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io
  • 使用须知 快照功能仅支持v1.15及以上版本的集群,且需要安装基于CSI的Everest插件才可以使用。 基于快照创建的云硬盘,其子类型(普通IO/高IO/超高IO)、是否加密、磁盘模式(VBD/SCSI)、共享性(非共享/共享)、容量等都要与快照关联母盘保持一致,这些属性查询和设置出来后不能够修改。 只有可用或正在使用状态的磁盘能创建快照。快照免费试用期间,单个磁盘最大支持创建7个快照。 创建快照功能仅支持使用everest插件提供的存储类(StorageClass名称以csi开头)创建的PVC。使用Flexvolume存储类(StorageClass名为ssd、sas、sata)创建的PVC,无法创建快照。 加密磁盘的快照数据以加密方式存放,非加密磁盘的快照数据以非加密方式存放。