华为云云原生王者之路集训营(黄金-第六章):Kubernetes持久化数据卷管理

网友投稿 528 2022-05-30

课程目标:

了解StatefulSet的概念及使用

了解PersistentVolume概念及使用

了解PersistentVolumeClaim的概念及使用

了解StorageClass的概念及使用

无状态应用:

应用是为了某项特殊的任务而编写的程序。程序是由算法和数据组成的。

华为云云原生王者之路集训营(黄金-第六章):Kubernetes持久化数据卷管理

在生产环境中,除了一些无状态应用外,还有一部分应用需要将结果数据(也即:状态)缓存下来,并永久的记录在存储中,以供后续使用。

这类应用就是我们将要讨论的“有状态应用”,与“无状态应用”相比,我们期望“有状态应用”具有哪些能力呢?

1.计算维度: 每个pod的名字需要是稳定的,不会发生变化的;pods之间的启动、升级、退出可以按照某种顺序控制的;

2.存储维度:存储是持久的,拥有独立于pod的生命周期,不会随着pod的生命周期结束而销毁;每个pod与其使用的存储关系是稳定的,不会因升级等因素而发生变化;

3.网络维度:每个pod的有独立、稳定的网络标识;

有状态应用(StatefulSet)概念介绍

基于社区对有状态应用的通用需求,K8S设计了一种有状态应用对象,也即: StatefulSet。它可以为用户提供一组具有稳定、有序、唯一特性的应用实例集合。如右图所示:

1.稳定:稳定的podName: {stsName}-{序号[O-n]}

②稳定的网络标识: {podName}. {headless-svcName}.{namespace}.svc.cluster.local

③稳定的存储关系: {volumeClaimTemplatesName}-{podName}

2.有序:

按照编号从小到大顺序的部署:0~ n

按照编号从大到小进行删除: n~ o

支持有序的扩缩容和升级策略

3.唯一:

每个pod拥有一个唯一的网络标识: {podName}. {headless-svcName}.{namespace}.svc.cluster.local

从下图可以看出,与Deployment通过ReplicaSet来管理pod生命周期不同,StatefulSet是直接管理pod的。

PV/PVC/SC概念介绍

1. PersistentVolume:简称pv,持久化存储,是k8s为云原生应用提供一种拥有独立生命周期的、用户可管理的存储的抽象设计。

2. PersistentVolumeClaim:简称pvc,持久化存储声明,是k8s为解耦云原生应用和数据存储而设计的,通过pvc可以让资源管控更细更灵活、应用模板更通用。

3. StorageClass:简称sc,存储类,是k8s平台为存储提供商提供存储接入的一种声明。通过sc和相应的存储插件(csi)为容器应用提供持久存储卷的能力。

本课总结

名称                                                                      简介

StatefulSet                                                        简称sts,有状态应用,一种k8s为用户提供一组具有有序、唯一、稳定的应用实例集合。

Volume                                                              卷,k8s为存算分离所做的解耦设计,让用户更加专注于业务功能设计。它在k8s中是依托于pod而使用的。

PersistentVolume                                             简称pv,持久化存储,是k8s为云原生应用提供一种拥有独立生命周期的、用户可管理的存储抽象设计。

PersistentVolumeClaim                                   简称pvc,持久化存储声明,是K8S为解耦云原生应用和数据存储而设计的,通过PVC可以让资源管控更细更灵活、团                                                                             队职责分离、应用模板更通用,进一步解除了用户被云平台锁定的顾虑。

StorageClass                                                    简称sc,存储类,是K8S平台为存储提供商提供存储接入的一种声明,通过sc和相应的存储插件(csi/flexvolume)为                                                                               容器应用提供动态分配存储卷的能力。

相关内容的华为云官网链接:https://support.huaweicloud.com/usermanual-cce/cce_01_0042.html

CCE云容器引擎官方首页: https://www.huaweicloud.com/product/cce.html

Kubernetes官方文档:

StatefulSet: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/

Storage: https://kubernetes.io/docs/concepts/storage/

Kubernetes 云容器引擎 CCE

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【转】通过历史性能了解网络运行的性能趋势
下一篇:【iot】华为iot学习体验
相关文章