首页 > 运维 > Linux > k8s二进制集群证书更新
2022
05-10

k8s二进制集群证书更新

Kubernetes 中使用了大量的证书,本文不会试图覆盖到所有可能使用到的证书,但会讨论到主要的证书。理解了这些证书的使用方法和原理后,也能很快理解其他可能遇到的证书文件。下图标识出了在 kubernetes 中主要使用到的证书和其使用的位置:

二进制各个证书默认过期时间

查看确认证书到期时间

一、更新CA根证书和秘钥 (一般有效期10年基本不用动)

全局 配置文件生成(后续各个组件生成证书会用到)

1. 确认证书到期时间

2.新建ca证书签名请求文件ca-csr.json

2. 重新生成 CA 证书和私钥

此图只做参考,生成的就是那三个证书

查看证书有效期

新证书有效期100年

3. k8s ca 新证书分发替换

二、 更新admin 证书和私钥(kubectl使用)

管理员用户通过 kubectl 访问 kube-apiserver 使用的证书,该证书是客户端证书。

说明:

1、 创建admin证书签名请求文件(或者用原来的也可):

2、 重新生成admin证书与私钥

3. 创建新的admin.kubeconfig文件

4、分发新配置文件覆盖到其他节点(2选1)

三、 更新api-server证书与私钥

kube-apiserver 对外提供服务使用的证书。该证书是服务器证书。

1、 生成新的 Kubernetes API Server 证书和私钥

2、分发新证书到各个节点

四、 更新kube-controller-manager证书与私钥

kube-controller-manager 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。

1、创建 controller-manager 证书请求文件

2、 重新生成controller-manager证书与私钥

将生成的证书和私钥分发到所有 master 节点:

3、 创建 kube-controller-manager.kubeconfig

4、 分发 kubeconfig 到所有 master 节点:

五、 更新kube-scheduler 证书与私钥

kube-scheduler 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。

1、创建证书签名请求:

2、生成新证书和私钥

3、 将生成的证书和私钥分发到所有 master 节点

4、创建k8s-scheduler.kubeconfig

分发 kubeconfig 到所有 master 节点:

六、更新 kube-proxy 证书与私钥

kube-proxy 作为客户端访问 kube-apiserver 使用的证书,该证书是客户端证书。

1、 创建证书签名请求:

2、 生成 kube-proxy 新证书和私钥:

3、 创建kube-proxy.kubeconfig文件

4、分发 kubeconfig 文件:

5、kubelet证书更新看这篇传送门

6、etcd证书更新 传送门

最后编辑:
作者:shooter
这个作者貌似有点懒,什么都没有留下。