如何通过Kubectl 重启Pod的六种方法

devtools/2024/10/9 11:04:56/

大家可能都知道 kubectl 其实没有 restart pod 这个命令,这个主要是由于在 k8s 中pod 的管理属于rs 等控制器,并不需要运维手动维护,但有时候,我们修改了configmap 的配置文件后,希望重启pod 加载配置,此时就需要 “重启” Pod。这里说的“重启”是加了引号的,准确地来说,是重建pod,给用户的感觉是重启。

下面介绍六种k8s 里面重启pod的方式

方法一:kubectl rollout restart

这个命令是比较推荐的,通过

kubectl rollout restart deployment  -n 

便可以重建这个deployment下的 pod,和滚动升级类似,并不会一次性杀死Pod,比较平滑。

方法二:kubectl scale

这种方法相对来说,比较粗放,我们可以先将副本调成 0

kubectl scale deployment  -n  --replicas=0

然后再改回目的副本数

kubectl scale deployment  -n  --replicas=10

方法三: kubectl delete pod

这个我就不解释了

kubectl delete pod  -n 

还是多说一句,此时优雅删除的效果还是有的。再多说一句,直接删 rs 效果也挺好。

方法四:kubectl replace

这种方法是通过更新Pod ,从触发k8s pod 的更新

kubectl get pod  -n  -o yaml | kubectl replace --force -f -

方法五:kubectl set env

通过 设置环境变量,其实也是更新pod spec 从而触发滚动升级。

kubectl set env deployment  -n  DEPLOY_DATE="$(date)"

只不过这里通过kubectl 命令行,当我们通过API 更新pod spec 后一样会触发滚动升级

方法六: kill 1

这种方法就是在容器里面 kill 1 号进程。

kubectl exec -it  -c  --/bin/sh -c "kill 1"

但是但是但是,重要的话说三遍,它有个局限,必须要求你的 1 号进程要 捕获 TERM 信号,否则在容器里面是杀不死自己的,这个在之前的文章已经介绍过了。


http://www.ppmy.cn/devtools/123339.html

相关文章

Unity3D游戏的内存控制详解

Unity3D是一款流行的游戏引擎,支持多种平台,包括PC、移动设备和VR等。随着游戏的复杂性不断提高,Unity3D的内存管理变得尤为重要。本文将详细介绍Unity3D游戏中的内存控制技术,包括自动内存管理、对象池、延迟加载资源和手动清理资…

【Power Compiler手册】13.UPF多电压设计实现(13)

井偏置支持 一些工艺技术允许将专用的电压供电,而不是常规的轨电压,应用于芯片的n阱和p阱区域。对阱施加偏置电压会改变阱中晶体管的阈值电压,从而影响性能和漏电流。 Power Compiler工具提供了一个可选模式,使用UPF命令指定n阱和p阱偏置供电基础设施。在此模式下,工具会…

低质量数据的多模态融合方法

目录 多模态融合 低质量多模态融合的核心挑战 噪声多模态数据学习 缺失模态插补 平衡多模态融合 动态多模态融合 启发式动态融合 基于注意力的动态融合 不确定性感知动态融合 论文 多模态融合 多模态融合侧重于整合多种模态的信息,以实现更准确的预测,在自动驾驶、…

STM32—SPI通讯协议

前言 由于I2C开漏外加上拉电阻的电路结构,使得通信线高电平的驱动能力比较弱,这就会号致,通信线由候电平变到高电平的时候,这个上升沿耗时比较长,这会限制I2C的最大通信速度, 所以,I2C的标准模…

Linux dlsym和直接调用函数地址解析分析

dlsym 函数是 Linux 下动态链接库(shared library)编程中的一个重要函数。它用于在运行时获取动态链接库中符号的地址,通常用于获取函数指针或变量的地址。 以下是 dlsym 函数的基本用法和示例。 1. 函数原型 void *dlsym(void *handle, c…

ASP.NetCore---I18n(internationalization)多语言版本的应用

文章目录 0.实现的效果如下1.创建新项目I18nBaseDemo2.添加页面中的下拉框3.在HomeController中添加ChangeLanguage方法4.在Progress.cs 文件中添加如下代码:5. 在progress.cs中添加code6.添加Resource资源文件7.在页面中引用i18n的变量8. 重启项目,应该…

Java面试题——第九篇(JVM)

1. Java中的强引用、软引用、弱引用和虚引用分别是什么 强引用 最常见的引用类型,在Java中,默认情况下,任何普通的对象引用都是强引用只要一个对象有强引用指向他,垃圾回收器永远不会回收该对象,即使系统内存紧张。 …

【图论】树剖(上):重链剖分

一、前置知识清单 深度优先搜索DFS 点我复习图的存储 复习链接敬请期待树状数组 点我复习 二、树剖简介 树剖(树链剖分),是一种把树划分成链的算法,该算法分为重链剖分和长链剖分。 本文仅讨论重链剖分,长链剖分目前…