为了工作方便,对一些常见知识点进行梳理,便于沟通

1. Pod原地更新

https://developer.aliyun.com/article/765421

Deployment、statefulset不具备,cloneset和appset具备

原理:k8s支持pod容器原地升级,当只更改容器的env、image、volumemounts等字段时,可以不重建pod,直接升级容器。该过程,pod的网络、ip等都不变化。

cloneset和appset 针对InPlace类型的升级,直接将上述字段变更,patch到pod里面,触发容器升级。

容器升级过程中,kubelet 会感知到这个 容器 的 hash 发生了变化,随即就会停掉对应的旧容器,并用新的容器来拉镜像、创建和启动新容器。

问题1:如何判断Pod原地更新成功?

在更新了 spec 镜像之后,如果观察到 Pod 的 status.containerStatuses[x].imageID 变化了,我们就认为原地升级已经重建了容器。

问题2:如何保证流量无损更新?

正常情况下,pod状态变为ready,service就会认为pod启动成功,挂到ep上,导入流量。

Pod原地更新过程中,涉及容器重建,需要一些机制调整:

1. 更新前,在pod.status.condition的InPlaceUpdateReady condition设置为false,kubelet感知后,让Pod变成NotReady状态,从而从ep上摘除。

2.更新后,InPlaceUpdateReady condition设置为true,触发kubelete将Pod变成Ready状态,重新挂量。

k8s常见知识的更多相关文章

  1. 《两地书》--Kubernetes(K8s)基础知识(docker容器技术)

    大家都知道历史上有段佳话叫“司马相如和卓文君”.“皑如山上雪,皎若云间月”.卓文君这么美,却也抵不过多情女儿薄情郎. 司马相如因一首<子虚赋>得汉武帝赏识,飞黄腾达之后便要与卓文君“故来相 ...

  2. Kubernetes(K8s)基础知识(docker容器技术)

    今天谈谈K8s基础知识关键词: 一个目标:容器操作:两地三中心:四层服务发现:五种Pod共享资源:六个CNI常用插件:七层负载均衡:八种隔离维度:九个网络模型原则:十类IP地址:百级产品线:千级物理机 ...

  3. ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建

    在上一个小系列文章<ASP.NET Core on K8S学习初探>中,通过在Windows上通过Docker for Windows搭建了一个单节点的K8S环境,并初步尝试将ASP.NE ...

  4. http一些常见知识记录

    HTTP请求包(浏览器信息) 我们先来看看Request包的结构, Request包分为3部分,第一部分叫Request line(请求行), 第二部分叫Request header(请求头),第三部 ...

  5. k8s基础知识

    k8s部署到云计算上的优势 传统模式: 在k8s外部部署一个外置调度器,请求先到物理node节点ip地址,由物理服务地址再转发代理至service地址,如果node节点也是私网地址呢,就需要再外部部署 ...

  6. php常见知识

    printf("%.nf",&f);这个n代表显示浮点数时,小数点后显示几位:0就是不显示小数点后的数,1就是显示小数点后1位:

  7. Java常见知识问答

    1.String.StringBuilder.StringBuffer (1).String是字符串常量,不允许改变 (2).StringBuffer先开辟了一块空间,可以允许改变,即向这个空间添加值 ...

  8. Android 常见知识整理(1)

    Android Support V4, V7, V13的作用与用法 http://blog.csdn.net/hh2000/article/details/39718623 2.  开源项目 注解   ...

  9. 网易AI工程师面试常见知识

  10. Maven常见知识介绍

    1)pom详解 2)pom详解 3)测试 4)插件与生命周期 5)maven生命周期 6)范围依赖

随机推荐

  1. Blazor学习之旅:文章目录索引

    1 Blazor学习路径 微软学习社区(Microsoft Learn)早在两三年前就推出了一门学习路径<使用Blazor构建Web应用程序>,我们可以学到如何通过Blazor Web应用 ...

  2. ai 赋能

    独立平台 chatGpt(推荐) 点击这里使用:https://chatgpt.com 排名第一,实至名归,是 OpenAI 公司开发的一种基于 GPT 模型的对话生成系统,主要用于人机交互,如聊天机 ...

  3. Python 脚本最佳实践2025版

    前文 可以直接把这篇文章喂给 AI, 可以放到 AI 角色设定里, 也可以直接作为提示词. 这样, 你只管提需求, 写脚本就让 AI 来. 概述 追求简洁和清晰:脚本应简单明了. 使用函数 (func ...

  4. C23和C++26的#embed嵌入资源指南

    c++26最近刚敲定标准,新增了许多重量级特性. 不过目前能实际上手测试的特性不多,毕竟标准刚刚确定,比较大的变更里只有"资源嵌入"或者用标准文档里英文名"resourc ...

  5. ItemTouchHelper拖动结束取得目标索引位置

    重写 clearView 要想取得目标索引位置,需要找到拖动结束,松开鼠标后的调用方法 //拖动完成之后调用,所操作的viewHolder即为目标位置的项目 @Override public void ...

  6. OS-Ubuntu-Server-Connect to Wi-Fi using "netplan" From Terminal on Debian 11/10 with WPA Supplicant

    0.netplan: netplan generate netplan apply wget https://dl.google.com/linux/direct/google-chrome-stab ...

  7. 解密prompt系列57. Agent Context Engineering - 多智能体代码剖析

    承接上篇对Context Engineering的探讨,本文将聚焦多智能体框架中的上下文管理实践.我们将深入剖析两个代表性框架:字节跳动开源的基于预定义角色与Supervisor-Worker模式的 ...

  8. 快速认识Delphi--九五小庞

    1.什么是Delphi: Delphi 不是一门编程语言,它只是一个IDE,和VS,Eclipse,VSCode,Pycharm... 一样,只是一个编程工具,但他主要是针对Pascal语言编程,因此 ...

  9. Shader Graph 冲击波特效

    冲击波特效 https://www.bilibili.com/video/BV1L341167Y4/?vd_source=106601ca71b1d910c1ac4aa2466b744c https: ...

  10. 浅析快速傅里叶变换(FFT)

    哈喽大家好,我是 doooge,今天给大家来点想看的东西啊. \[\Huge \sf 浅析快速傅里叶变换(FFT) \] 1. 前置知识 工欲善其事,必先利其器,讲 FFT 之前我先将一些废话,如果你 ...