k8s-重启Pod方法

kubectl 没有 restart pod 这个命令,主要是由于在 k8s 中pod 的管理属于rs 等控制器,并不需要手动维护,但有时更新了yaml文件后,期望破都能够”重启”重新加载yaml文件,比如修改了configmap 的配置文件后,希望重启pod 加载配置,此时就需要 “重启” Pod。而”重启”准确地来说是重建pod,但给用户的感觉是重启。

方法一:kubectl rollout restart

上述命令会重建这个deployment下的 pod,和滚动升级类似,不会一次性杀死Pod,比较平滑。

kubectl rollout restart deployment <deployment_name> -n <namespace>

方法二:kubectl scale

此方法存在风险,不建议使用。其流程是先将副本调成 0,然后再改回目的副本数,会中断服务。

kubectl scale deployment <deployment name> -n <namespace> --replicas=0
kubectl scale deployment <deployment name> -n <namespace> --replicas=10

方法三:kubectl delete pod

删除pod重建,单不建议并行删除全部pod,建议一个一个串行删除,至少保留一个pod可用,常用于删除一个pod(多pod情况下)。

kubectl delete pod <pod_name> -n <namespace>

方法四:kubectl replace

通过更新Pod ,从触发k8s pod 的更新。

kubectl get pod <pod_name> -n <namespace> -o yaml | kubectl replace --force -f -

方法五:kubectl set env

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

kubectl set env deployment <deployment name> -n <namespace> DEPLOY_DATE="$(date)"

通过API 更新pod spec 后也会触发滚动升级 。

方法六:kill 1

在容器里面 kill 1 号进程,但是有个局限,必须要求1 号进程要 捕获 TERM 信号,否则在容器里面是杀不死1号进程的。

kubec`tl exec -it <pod_name> -c <container_name> --/bin/sh -c "kill 1"

查看k8s证书时间及可信IP

openssl x509 -in apiserver.crt -noout -enddate
opnessl x509 -in apiserver.crt -noout -text

# 找到证书的CERTIFICATE文件
openssl x509 -in ca.crt -noout -dates
notBefore=Apr 19 07:45:42 2020 GMT   # 证书颁发时间
notAfter=Apr 17 07:45:42 2030 GMT    # 证书失效时间
补充:

生成证书
$ openssl genrsa -out ca.key 4096 
$ openssl req -new -x509 -days 7304 -key ca.key -out ca.crt
openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9786

(0)
郭靖的头像郭靖
上一篇 2023年10月8日 下午5:20
下一篇 2023年10月10日 下午9:22

相关推荐

  • Jenkins打包、发布、部署

    前言 服务器:CentOS 7.9 64位 jdk:1.8 maven:3.9.1 git:git version 1.8.3.1 jenkins:2.346. 一、安装jdk1、下载jdk的rpm安装包(根据自己的操作系统选择对应版本),上传到服务器,执行 yum install jdk-8u301-linux-x64.rpm –y 命令。 2、执行 ja…

    2023年12月22日
    86700
  • Windows下安装Nginx错误总结

    别问我为啥非要在Windows上按照Nginx,问的话,回答就是:有这个需求 1:CreateFile()“xxxxx” failed (3: The system cannot find the path specified) 产生原因:创建文件xxxx异常了。大多数情况就是因为:安装目录中存在中文或者是空格 比如凯哥的就是因为存在空格。凯哥第一…

    2024年5月11日
    88200
  • Centos7忘记root密码怎么办

    重启linux,进入系统的GRUB菜单界面,选择最下方的,按下小写字母e进入编辑界面 按下方向键,找到以字符串Linux16开头的行,光标移动到结尾,然后输入init=/bin/bash enforcing=0 代表登录系统后,加载bash解释器,然后关闭selinux 按下ctrl+x组合键以单用户模式启动Linux 输入如下命令,重新挂载根目录,进入可写…

    2022年6月11日
    1.2K00
  • PVE8开启vgpu显卡虚拟化(基于Tesla P4)

    Tesla系列显卡真是垃圾佬的福音,很久以上上万的卡,现在几百块就能收到,不仅可以炼丹,还可以玩游戏,甚至可以给PVE用作vgpu,来实现云桌面,云游戏。博主先后买过P40和P4,面对250W功耗的24G显存的P40,显然它更适合炼丹,P4 TDP 75W,1060的性能表现,它的最佳用途其实不是个人桌面的游戏显卡,而是虚拟化云主机使用,而搭配上一台低功耗主…

    2024年2月26日
    2.4K00
  • MySQL数据库数据对比工具——Mysqldbcompare

    MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括: 管理工具 (克隆、复制、比较、差异、导出、导入) 复制工具 (安装、配置) 一般工具 (磁盘使用情况、冗余索引、搜索元数据) MySQL Utilities是一系列的命令行工具以及python库更容易完成管理的任务。库是用Pyth…

    2023年5月4日
    1.6K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信