图解kubernetes控制器Deployment核心机制

编程入门 行业动态 更新时间:2024-10-08 06:29:08

图解kubernetes<a href=https://www.elefans.com/category/jswz/34/1771349.html style=控制器Deployment核心机制"/>

图解kubernetes控制器Deployment核心机制

Deployment是k8s中部署更新的关键实现,今天我们一起初探下其关键机制包括: 暂停、回滚、扩缩容、更新策略的实现

1. 基础概念

Deployment本质上其实只是一种部署策略,在了解其实现之前,先简单介绍一下部署系统里面常见的概念,Deployment里面的各种参数和设计其实也都是围绕着这些展开的

1.1 ReplicaSet

Deployment本身并不直接操作Pod,每当其更新的时候通过构建ReplicaSet来进行版本更新,在更新的过程中通过scale up(新的RS)和scale down(旧的RS)来完成

1.2 部署状态

在k8s的官方文档中主要是介绍了Deployment的三种状态, 对应的Condition分别为Available、Progressing、ReplicaFailure三种状态, 并且每个状态下面又会很有导致对应状态切换的不同的Reson,Reson可能是运维过程中最需要关注的点

1.3 部署策略

部署策略是Deployment控制ReplicaSet更新的策略,通过对新旧ReplicaSet的扩缩容,再满足部署策略的情况下,将系统更新至最新的目标状态,Deployment本身并没有太多可选的策略,默认只有两种Recreate和RollingUpdate 在一些大版本产品更新的时候,新旧版本的数据库模型都不一致的情况下,通常会选择停服操作,此时可以选择Recreate即将所有老的副本都干掉,然后重新创建一批。当然默认情况下大部分业务还是RollingUpdate即滚动更新即可

1.4 可用性与高低水位

部署过程中最常被提到的可能就是可用性问题了,即在更新的过程中(RollingUpdate策略下)需要保证系统中可用的Pod在一个指定的水位,保证对应服务的可用性 高低水位(deployment并没有这个词)其实就是对应的上面的可用性来说的,Deployment通过一些参数让我们可以自由控制在滚动更新的过程中,我们可以创建的Pod的最多数量(高水位)和可以删除的最多的Pod(低水位), 从而达到可用性保护的目标

部署的概念就介绍到这里, 接下来就一起看看Deployment中这些关键机制的具体实现

更多推荐

图解kubernetes控制器Deployment核心机制

本文发布于:2024-02-11 22:35:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1683973.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:控制器   机制   核心   kubernetes   Deployment

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!