「Kubernetes」- 重新申请证书 @20210227

问题描述

在Kubernetes Cluster中,在集群初时化时创建的证书壹年到期。到期之后,集群的各个组件之间将无法访问。

环境概述

属性 信息
系统环境 CentOS Linux release 7.4.1708 (Core)
软件版本 Kubernetes v1.12.1

解决办法

通过延长证书期限即可解决问题…………无需重新生成证书。

第一步、备份配置文件(主机节点)

运维工作千万条,数据备份第一条:

#!/bin/sh

cp -drv /etc/kubernetes /etc/kubernetes.backup

第二步、延长证书期限(主机节点)

#!/bin/sh

kubeadm -v 10 alpha phase certs renew apiserver --config /etc/kubernetes/kubeadm-config.yaml
kubeadm -v 10 alpha phase certs renew apiserver-etcd-client --config /etc/kubernetes/kubeadm-config.yaml
kubeadm -v 10 alpha phase certs renew apiserver-kubelet-client --config /etc/kubernetes/kubeadm-config.yaml

kubeadm -v 10 alpha phase certs renew etcd-healthcheck-client --config /etc/kubernetes/kubeadm-config.yaml
kubeadm -v 10 alpha phase certs renew etcd-peer --config /etc/kubernetes/kubeadm-config.yaml
kubeadm -v 10 alpha phase certs renew etcd-server  --config /etc/kubernetes/kubeadm-config.yaml

kubeadm -v 10 alpha phase certs renew front-proxy-client --config /etc/kubernetes/kubeadm-config.yaml

# 实际上可以执行kubeadm -v 10 alpha phase certs renew all命令
# 但是在CentOS 7.4 and kubeadm 1.12.1下,上述命令产生栈溢出错误…………

第三步、更新配置文件(主机节点)

#!/bin/sh

# 移除旧配置
rm -rf /etc/kubernetes/admin.conf
rm -rf /etc/kubernetes/kubelet.conf
rm -rf /etc/kubernetes/controller-manager.conf
rm -rf /etc/kubernetes/scheduler.conf

# 生成新配置(而实际上是更新客户端证书)
kubeadm alpha phase kubeconfig all

第四步、重启服务(所有节点)

#!/bin/sh

systemctl restart kubelet.service

注意事项

本文由「Part of the existing bootstrap client certificate is expired」演变而来。通过摸索与实验,最终找到解决方案。

相关链接

Certificate Management with kubeadm

上一篇:Kubeadm 部署高可用 K8S 集群


下一篇:Kubernetes1.14.x升级到1.15.x版本--kubeadm安装