一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第11天,点击查看活动详情。
本章节对一些k8s集群的更新与存储,相关概念进行了总结
滚动更新
默认情况下,Kubernetes Deployment 具有针对 Pod 更新的滚动更新策略,该策略可确保在应用程序在任何时间点更新时,某些实例仍在运行,以防止应用程序宕机,并且仅在新部署的 Pod 启动并准备好处理流量时才杀死旧的 Pod。 我们还可以指定 Kubernetes 在更新期间如何处理多个副本。例如,如果我们有一个 3 个副本的应用程序,我们是应该立即创建所有 3 个新的 Pod 并等待它们启动,还是在更新过程中杀死除一个旧 Pod 之外的所有 Pod,还是应该逐个替换它们?以下示例是使用默认滚动更新升级策略的部署定义,其中最多可以有一个容器,其副本数 (maxSurge) 以上,并且在更新过程中没有不可用的容器。
Volume
当我们创建或重新启动容器时,它从新的工作区开始。因此,我们无法将任何数据保存到其工作区中以供重用。 K8s 卷使我们能够将外部存储插入到容器工作区中。由于插入了存储,容器可以在重新启动和故障时保存和重用数据。在这方面,K8s支持多种存储类型。 该卷为 Pod 提供了插入外部存储的最简单方法。
PV和PVC
在 Kubernetes 持久性存储中,持久性卷 (PV) 是集群中由管理员预置或使用存储类动态预置的一块存储。PV 是已附加到群集的物理存储设备(如 NFS 或 iSCSI 通信)的抽象。PV的主要特点是它具有由Kubernetes管理的独立生命周期,并且当访问它的pod被删除时,它将继续存在。
持久性卷声明 (PVC) 是用户的存储请求。声明可以包括应用程序所需的特定存储参数。例如,存储量或特定类型的访问(RWO – ReadWriteOnce,ROX – ReadOnlyMany,RWX – ReadWriteMany 等)。
参考文章
本节对于k8s中,使用的非常多的PV和PVC进行了一个大概的介绍,因为其灵活程度非常大,不仅是物理存储,连云服务商提供的云存储服务也能支持,因此我们可以利用其灵活性来实现各种复杂业务场景需求。如果想对存储又进一步了解,还可以在以下站点找到更详细的资料