k8s中重启pod的6种方法

大家可能都知道 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 信号,否则在容器里面是杀不死自己的,这个在之前的文章已经介绍过了。

Git clone操作时如果遇到文件太大拉取不下来的问题,通常是因为仓库的文件大小超过了单次下载的限制,或者网络连接不稳定导致传输过程缓慢。有几方法可以解决这个问题: 1. **断点续传**(部分平台支持):一些版本的Git客户端或命令行工具提供了断点续传功能,比如Git LFS(Large File Storage)。如果你使用的是这类工具,可以尝试设置并启用断点续传来分段下载。 2. **限制网络流量**:你可以限制下载速度,例如在命令行添加`-o`参数(对Git CLI)或在工具的设置里调整下载速率。 ``` git clone --speed-limit=10000000 <repository-url> ``` 其10000000是一个示例值,可以根据实际情况调整。 3. **使用SSH连接**:如果你有SSH密钥配置,可以使用SSH连接代替HTTP/HTTPS,通常会更快。因为SSH是加密的,所以可能会稍微慢一些,但传输效率更高。 ``` git clone git@github.com:username/repository.git ``` 4. **分批下载**:将大文件拆分成小块,然后逐个下载。这需要手动操作或者写脚本自动化处理。 5. **提高网络环境**:确保网络连接稳定且带宽充足,如果可能,连接到有更快下载速度的网络。 6. **使用镜像**:如果你在国,可以使用国内的Git镜像源,如GitHub国、码云等,它们通常会有更短的延迟和更快的下载速度。 记得在执行这些操作前备份本地已有的工作,避免数据丢失。 **相关问题:** 1. 如何在Windows上启用Git LFS? 2. 如何检查Git是否支持断点续传? 3. 如何配置Git使用SSH连接?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值