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

相关推荐

  • CentOS添加永久路由方式

    1. CentOS7添加永久路由   ● 方式一:  执行以下命令打开路由配置文件进行编辑: 这里的<interface>是指您要添加路由的网络接口,例如eth0或ens33  在文件中添加路由规则,例如: 其中<gateway>是默认网关的 IP 地址,<interface>是网络接口的名称  例如: 保存并关闭文件,执行以下命令重启网络…

    2023年12月5日
    94800
  • rsync综合备份

    一.先看需求 客户端需求:1.客户端每天凌晨1点在服务器本地打包备份(/etc目录和/var/log目录)2.客户端备份的数据必须存放至以 “主机名ip地址当前时间” 命名的目录中3.客户端最后通过rsync推送本地已经打包好的备份文件至backup服务器4.客户端服务器本地保留最近7天的数据,避免浪费磁盘空间 服务端需求:1.服务端…

    2023年12月11日
    1.1K00
  • Homebrew安装教程

    Homebrew是什么? Homebrew是一款MacOS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。 通常用于Mac系统,也可以安装在Linux系统 注意M1处理器的安装位置(与intel有所区别): brew的安装位置:/opt/homeb…

    2023年6月19日
    1.1K00
  • crontab中反引号和$()无效的解决

    问题描述 1.增加了一条crontab,删除本月中2天以前的日志 10 02  * * * /bin/find /data/logs/php/$(date  +%Y%m)/ -mtime +2 | xargs rm -rf   可是看上面的crontab总是运行失败,然后查/var/log/cron 日志报 Jul 22 02:02:01  loc…

    2023年3月29日
    1.1K00
  • Ubuntu 输入正确的密码后,黑屏一闪,重新返回到登陆界面问题解决

    一,问题描述: Ubuntu出现登陆界面后,选择用户名,输入密码,然后登陆画面消失,似乎要进入系统了;但很快,又出现了同样的用户登陆界面,再次选择用户名、输入密码,再次来到这个状态,形成一个死循环。 二,解决办法: 1.若是本地的虚拟机运行的服务: 在登录界面Ctrl+Alt+F1进入命令行界面: 先找到这个文件: /home/user/.xsession-…

    2023年11月29日
    2.2K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信