k8s证书配置:为 kubelet 配置证书轮换
概述
Kubelet 使用證書進行 Kubernetes API 的認證。 默認情況下,這些證書的簽發期限為一年,所以不需要太頻繁地進行更新。
Kubernetes 1.8 版本中包含 beta 特性 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,發起新的證書簽名請求。 同樣地,控制器管理器會自動批準證書請求,并將簽署的證書附加到證書簽名請求中。 Kubelet 會從 Kubernetes API 取回簽署的證書,并將其寫入磁盤。 然后它會更新與 Kubernetes API 的連接,使用新的證書重新連接到 Kubernetes API。
參考鏈接:
為 kubelet 配置證書輪換
k8s1.9 證書過期及開啟自動續期方案
總結
以上是生活随笔為你收集整理的k8s证书配置:为 kubelet 配置证书轮换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k8s master节点参与调度(去除N
- 下一篇: kube-controller-mana