K8S哲学 - statefulSet 灰度发布

2024-04-29 13:04

本文主要是介绍K8S哲学 - statefulSet 灰度发布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

kubectl  get

   - 获取资源及配置文件   kubectl get  resource 【resourceName  -o=yaml】 

 kubectl  create  

   - 指定镜像创建或者 指定文件创建

       kubectl create  resource  【resourceName】 --image=myImage 【-f my.yaml】

 kubectl  delete

 kubectl describe resource resourceName

 kubectl  rollout histroy resource resourceName 【--revision 版本、修订】

 kubectl rollout  pause/resume resource resourceName

 kubectl edit  resource resourceName

 kubectl set property   resource resourceName value=myVAalue

 kubectl scale  resource resourceName  --replicas=num

创建 statefulSet    kind: StatefulSet

statusfulSet.yaml

---
apiVersion: v1
kind: Service
metadata:name: nginxlabels:app: nginx
spec: ports:- port: 80name: webclusterIP: Noneselector: app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata: name: web
spec: serviceName: nginxreplicas: 2selector: matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec: containers:- name: nginximage: nginxports: - containerPort: 80name: webvolumeMounts:- name: wwwmountPath: /usr/share/nginx/htmlvolumeClaimTemplates:- metadata: name: wwwspec: accessModes: ['ReadWriteOnce']resources:requests:storage: 500Mi 

statefulSet  的 pod 的 dns 的命名方式:

statefulSetName-[0、1、2 ......]-namespace-svc.cluster.local

 扩容和缩容

kubectl scale sts  statefulSetName  --replicas=num

 镜像更新

1、通过set

kubectl set image sts/web  nginx=nginx:1.25.5

 2、通过 patch

3、更新模式

   -、 rollingUpdate (default)

利用 partition (分区) 实现 灰度发布 (金丝雀发布)

修改 partition 的值为想要的 更新范围 , 目前为 3

当前 5个 pod ng 版本为 1.25.5

修改 sts web 的 image 为 nginx

再次查看  web-0 web-1 web-2 的 依旧为 ng:1.25.5

但是 web-3 web-4 已改为 nginx

后续进一步 扩大发布范围 继续修改  partition的值 即可   2 -1 -0

k8s 的 partition 只和当前的配置文件的内容有关联、现在 image: nginx 如果修改 partition: 0
 那么所有的 pod 的 image 都会变成 image: nginx
    -、onDelete 
updateStrategy:type: onDelete

修改后不会有任何变化

只有 删除 pod 时  k8s 会立即 创建一个新的 pod ,pod配置为 修改后的  配置

目前 pod  image 都是 nginx

修改为

nginx:1.25.5

updateStrategy: OnDelete

删除前查看 web-1 

删除后查看 web-1

是否级联删除

当删除 父级资源 时默认会删除 子级资源

deployment -> pod

statefulSet - > pod

--cascsde = true(default)

 

这篇关于K8S哲学 - statefulSet 灰度发布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/946162

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

90、k8s之secret+configMap

一、secret配置管理 配置管理: 加密配置:保存密码,token,其他敏感信息的k8s资源 应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中容器 1.1、加密配置: secret: [root@master01 ~]# kubectl get secrets ##查看加密配置[root@master01 ~]# kubectl get se

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

云原生之高性能web服务器学习(持续更新中)

高性能web服务器 1 Web服务器的基础介绍1.1 Web服务介绍1.1.1 Apache介绍1.1.2 Nginx-高性能的 Web 服务端 2 Nginx架构与安装2.1 Nginx概述2.1.1 Nginx 功能介绍2.1.2 基础特性2.1.3 Web 服务相关的功能 2.2 Nginx 架构和进程2.2.1 架构2.2.2 Ngnix进程结构 2.3 Nginx 模块介绍2.4

用Cri-O,Sealos CLI,Kubeadm方式部署K8s高可用集群

3.6 Cri-O方式部署K8s集群 注意:基于Kubernetes基础环境 3.6.1 所有节点安装配置cri-o [root@k8s-all ~]# VERSION=1.28[root@k8s-all ~]# curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensu