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 6 yum安装软件报错 YumRepo Error

    在CentOS 6的机器上使用yum 安装软件报错: 使用yum update命令也是一样: 看错误提示,似乎是说找不到有效的baseurl。所以要解决这个问题,还要从baseurl着手。从官方邮件可知,CentOS 6自从2020年11月30日开始,官方不再维护,所以连带着原来的yum存储库也不能用了。 但是邮件里说得很明白,它给出了迁移后的存储库的链接地…

    2023年5月25日
    1.2K00
  • Linux查看磁盘UUID的几种方式

    查看/dev/disk/by-uuid目录命令: 可以查看系统全部磁盘挂载信息 blkid命令命令: 也可以指定磁盘查看,命令: tune2fs和dumpe2fs配合grep命令: 修改磁盘挂载ID,可以参考:https://help.aliyun.com/document_detail/199739.html挂载磁盘千万不要使用 这种方式,linux系统从…

    2023年7月28日
    1.5K00
  • Docker配置指定IP(Ubuntu 16.04)

    应用场景 1. Docker网络模式概览 说明: 最常用的就是利用bridge,自定义虚拟网桥来固定IP。默认情况下,docker的容器重启之后,会自动分配IP,导致一次重启IP变化。所以需要对docker容器指定IP。由于docker默认的网络不能固定ip地址,我们创建自定义虚拟网桥,进行固定IP的分配 2. 创建自定义网络 3. 查看网络信息 创建网桥之…

    2023年2月28日
    1.5K00
  • linux下如何mount挂载lvm磁盘

    磁盘如果是普通的分区,比如:ntfs、ext3等,可以直接用 mount -t <type>来制定文件系统类型来挂载,但有时候磁盘是采用的lvm卷的分区,要挂载这类磁盘,就应该按照以下方式: a. 扫描逻辑卷: b. 激活扫描到的卷: c. 挂载 注:/dev/VolGroup00文件夹下面可能会有几个:lvm_root、lvm_swap、lvm…

    2023年7月20日
    1.6K00
  • 手把手教你戴尔DELL 服务器 R410 带外管理iDRAC6 升级固件版本

    升级完R410的BIOS之后,第二个需求是更新远程管理的iDRAC版本。iDRAC需要服务器安装了远程管理卡才可以使用,然而一般现在网上买到的二手R410都是非常旧的iDRAC版本。(简单判断方法:管理页面是浅蓝色配色白底背景的是旧版本,新版本为深色背景) 和更新BIOS的问题相似,网上极少有关于服务器iDRAC更新的资料。且官方的文档说明也不全。经查阅整理…

    2024年1月22日
    2.3K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信