您的位置:MYSQL中文网 > kubelet证书自动轮换 Kubernetes 为kubelet配置证书轮换

kubelet证书自动轮换 Kubernetes 为kubelet配置证书轮换

2023-03-23 18:30 Kubernetes(k8s)手册

kubelet证书自动轮换 Kubernetes 为kubelet配置证书轮换

kubelet证书自动轮换

Kubelet证书自动轮换是Kubernetes集群中一项重要的安全功能,它可以帮助保护集群中的数据和服务免受未经授权的访问。Kubelet证书自动轮换是一种定期更新Kubelet证书的过程,以防止由于证书过期而导致的安全风险。

Kubelet证书自动轮换通常由Kubernetes集群中的一个特定服务来执行,这个服务通常是kube-cert-manager。kube-cert-manager会监测Kubernetes集群中所有Kubelet证书的到期时间,并在必要时重新生成新的证书。

apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: kubelet-serving-certificate
spec:
  secretName: kubelet-serving-certificate  # Name of the secret to create in the same namespace as this Certificate resource. This secret will contain the generated private key and certificate. 
  duration: 2160h # The requested duration of the certificate in hours (max 8760). Default is 2160 (90 days). 
  renewBefore: 360h # The requested renewal time before expiration in hours (max 8760). Default is 360 (15 days).  

Kubernetes 为kubelet配置证书轮换

为 kubelet 配置证书轮换

本文展示如何在 kubelet 中启用并配置证书轮换。

特性状态: Kubernetes v1.19 [stable]

在开始之前

  • 要求 Kubernetes 1.8.0 或更高的版本

概述

Kubelet 使用证书进行 Kubernetes API 的认证。 默认情况下,这些证书的签发期限为一年,所以不需要太频繁地进行更新。

Kubernetes 包含特性 kubelet 证书轮换, 在当前证书即将过期时, 将自动生成新的秘钥,并从 Kubernetes API 申请新的证书。 一旦新的证书可用,它将被用于与 Kubernetes API 间的连接认证。

启用客户端证书轮换

kubelet ​进程接收 ​--rotate-certificates​ 参数,该参数决定 kubelet 在当前使用的 证书即将到期时,是否会自动申请新的证书。

kube-controller-manager​ 进程接收 ​--cluster-signing-duration​ 参数 (在 1.19 版本之前为 ​--experimental-cluster-signing-duration​),用来 控制签发证书的有效期限。

理解证书轮换配置

当 kubelet 启动时,如被配置为自举(使用​--bootstrap-kubeconfig​ 参数),kubelet 会使用其初始证书连接到 Kubernetes API ,并发送证书签名的请求。 可以通过以下方式查看证书签名请求的状态:

kubectl get csr

最初,来自节点上 kubelet 的证书签名请求处于 ​Pending ​状态。 如果证书签名请求满足特定条件, 控制器管理器会自动批准,此时请求会处于 ​Approved ​状态。 接下来,控制器管理器会签署证书, 证书的有效期限由 ​--cluster-signing-duration​ 参数指定,签署的证书会被附加到证书签名请求中。

Kubelet 会从 Kubernetes API 取回签署的证书,并将其写入磁盘,存储位置通过 ​--cert-dir​ 参数指定。 然后 kubelet 会使用新的证书连接到 Kubernetes API。

当签署的证书即将到期时,kubelet 会使用 Kubernetes API,自动发起新的证书签名请求。 该请求会发生在证书的有效时间剩下 30% 到 10% 之间的任意时间点。 同样地,控制器管理器会自动批准证书请求,并将签署的证书附加到证书签名请求中。 Kubelet 会从 Kubernetes API 取回签署的证书,并将其写入磁盘。 然后它会更新与 Kubernetes API 的连接,使用新的证书重新连接到 Kubernetes API。


阅读全文
以上是MYSQL中文网为你收集整理的kubelet证书自动轮换 Kubernetes 为kubelet配置证书轮换全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 MYSQL中文网 mysqlcn.com 版权所有 联系我们
桂ICP备12005667号-29 Powered by CMS