k8s证书更新,kubeadm安装的K8S证书过期后无法使用后证书更新方法

这篇具有很好参考价值的文章主要介绍了k8s证书更新,kubeadm安装的K8S证书过期后无法使用后证书更新方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

k8s证书更新

1. 查看证书过期时间

#通过文件查看证书过期时间
for item in `find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"`;do openssl x509 -in $item -text -noout| grep Not;echo ======================$item===============;done 
#通过命令查看证书过期时间
kubeadm certs check-expiration

k8s安装一年后证书显示过期。证书未自动续期。
以下操作需到所有master节点操作
一般情况下,k8s创建的集群节点上的/usr/bin/文件夹下会存在kubeadm二进制文件,如果发现master节点上没有kubeadm,可以从官方下载对应的版本并且安装。文章来源地址https://www.toymoban.com/news/detail-619786.html

2. 备份文件

## 将k8s和tecd相关文件做备份
cp -r /etc/kubernetes /etc/kubernetes.bak
cp -r /var/lib/etcd /var/lib/etcd.bak

3. 证书更新

kubeadm certs renew all          #新版本更新证书
kubeadm alpha certs renew all    #老版本更新证书

4. 更新kubeconfig

mv /etc/kubernetes/admin.conf  /root/
cp -r /root/.kube /root/.kube.bak
cp -f /etc/kubernetes/admin.conf /root/.kube/config
kubeadm init phase kubeconfig all  #更新kubeconfig

5. 验证

# 验证与组件重启,执行完上述更新证书操作后可以通过
echo | openssl s_client -showcerts -connect 127.0.0.1:6443 -servername api 2>/dev/null | openssl x509 -noout -enddate

#验证apiserver证书有效期是否更新,会发现证书有效期没有更新。此原因是k8s组件如果没有重启就不会使用新证书导致的,执行如下命令
docker rm -f $(docker ps -q -f label=io.kubernetes.container.name=kube-apiserver)
docker rm -f $(docker ps -q -f label=io.kubernetes.container.name=kube-controller-manager) 
docker rm -f $(docker ps -q -f label=io.kubernetes.container.name=kube-scheduler)
docker rm -f $(docker ps -q -f label=io.kubernetes.container.name=etcd)

#以重启k8s及etcd相关组件后,再次执行可以观察到证书有效期已经发生变化
echo | openssl s_client -showcerts -connect 127.0.0.1:6443 -servername api 2>/dev/null | openssl x509 -noout -enddate

# 注意:必须重启一下kubelet docker
systemctl restart kubelet docker

#docker重启后容器都是未运行中,请通过此命令运行所有的容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

#根据容器的状态,删除Exited状态的所有容器,不然K8S的组件(etcd,kube-apiserver,kube-controller-manager,kube-scheduler)重名运行不起来
docker rm $(sudo docker ps -qf status=exited)


#此时,还是无法使用kubectl get nodes,一定要重启机器
reboot

次博客是本人测试过v1.23.8版本后,没有问题后撰写的,请大家放心操作!

[root@k8s-master ~]# kubectl get nodes
NAME         STATUS     ROLES                  AGE   VERSION
k8s-master   Ready      control-plane,master   54d   v1.23.8
k8s-node1    Ready      <none>                 54d   v1.23.8
k8s-node2    Ready      <none>                 54d   v1.23.8
[root@k8s-master ~]# 

到了这里,关于k8s证书更新,kubeadm安装的K8S证书过期后无法使用后证书更新方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决K8s证书过期问题

    K8s出现的问题:证书过期 参考K8s官方文档 查看运行日志: 关键错误:part of the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired: 2022-10-12 06:54:16 +0000 UTC 查看证书期限: 解决方式: 对过期证书进行备份,并删除旧的证书 重新生成证书 备份旧的配置文件 重新生成

    2024年02月16日
    浏览(56)
  • k8s集群证书过期解决

    问题现象 K8S集群证书过期后,会导无法创建Pod,通过kubectl get nodes也无法获取信息,甚至dashboard也无法访问。 执行命令发现报错: Unable to connect to the server: x509: certificate has expired or is not yet valid 查看K8S的日志: Part of the existing bootstrap client certificate is expired: 2023-08-29 02:29:04 +0

    2024年02月11日
    浏览(44)
  • K8S证书过期解决办法之替换证书

    目录 1 证书过期的情况 2 Kubernetes环境介绍 3 替换证书步骤 3.1 在master上查看各证书的过期时间 3.2 查看master(192.168.0.190)上kubelet证书列表 3.3  查看master(192.168.0.190)上kubelet证书的过期时间 3.4 查看node1和node2上kubelet证书的过期时间(同(2)) 3.5 备份相关证书文件的目录

    2024年02月15日
    浏览(43)
  • k8s、kubeadm安装

    环境准备 所有节点安装docker  所有节点安装kubeadm,kubelet和kubectl  部署K8S集群      部署 Dashboard  安装Harbor私有仓库(192.168.86.33)

    2024年02月06日
    浏览(41)
  • kubeadm 安装k8s

    目录 安装k8s 环境准备 所有节点,关闭防火墙规则,关闭selinux,关闭swap交换(必须关闭swap分区)  //修改主机名  //所有节点修改hosts文件  //调整内核参数 所有节点安装docker  所有节点安装kubeadm,kubelet和kubectl 定义kubernetes源 开机自启kubelet 部署K8S集群 查看初始化需要的镜

    2024年02月09日
    浏览(50)
  • Kubeadm安装K8s集群

    一、硬件环境 准备3台Linux服务器,此处用Vmware虚拟机。 主机名 CPU 内存 k8smaster 2核 4G k8snode1 2核 4G k8snode2 2核 4G 二、系统前置准备 配置三台主机的hosts文件 设置主机名 关闭selinux、禁用swap分区 ipv4流量转发 关闭防火墙 同步三台服务器的时间 三、环境安装 Docker 安装 Docker卸载

    2024年02月13日
    浏览(35)
  • K8S历险记-从零开始kubeadm单机安装部署k8s保姆级教程

    1.查看系统版本信息以及修改配置信息 1.1 查看cpu信息 k8s安装至少需要2核2G的环境,否则会安装失败 1.2 安装k8s时,临时关闭swap ,如果不关闭在执行kubeadm部分命令会报错 1.3 安装k8s时,可以临时关闭selinux,减少额外配置 1.4 关闭防火墙 1.5 设置网桥参数 1.6 修改hosts文件

    2024年02月08日
    浏览(53)
  • 卸载 kubeadm 方式安装的 k8s

    1.停止服务与容器并删除镜像和容器 所有节点都执行一遍以下命令: sudo systemctl stop kubelet sudo systemctl status kubelet sudo systemctl stop etcd 2.清空K8S集群设置 # kubeadm reset -f 3.删除K8S相关软件 查询kube的所有软件: # yum list installed | grep kube # yum list installed | grep cri-tools 如下:

    2024年04月28日
    浏览(33)
  • 体验istio(二):kubeadm安装k8s集群

    在这一篇中我们将使用kubeadm基于ubuntu22.04部署一个控制、工作节点分离的双节点集群用于测试,没有高可用加入,使用kubeadm的原因首先是它支持生产级部署,稳定性上没问题,而这里的测试环境也没有基础设施自动化相关的需求。 注意,在部署k8s方面,官方文档已经非常详

    2024年01月23日
    浏览(48)
  • Ubuntu 使用Kubeadm 离线安装k8s

    K8S离线部署的方案 离线包,自己可以跟着下面步骤自己下载。 https://download.csdn.net/download/u010952056/86748944 万字长文详解 PaaS toB 场景下 K8s 离线部署方案 Item Language 离线部署支持情况 kops Golang 不支持 kubespray Ansible 支持,需自行构建安装包 kubeasz Ansible 支持,需自行构建安装包

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包