Kubernetes 認證(證書)過期怎么辦


Kubernetes 中的認證

在Kubernetes cluster中,TLS認證是必要條件,也就是說在Kubernetes的各個節點間的通信必須走TLS加密來確保安全性(TLS 可以認為是SSL的升級)。

TLS的認證過程中要用證書,證書是有時效性的,證書過期后,TLS通信是被拒絕的。

Kubernetes認證過期的現象

  1. 首先,kubernetes cluster提供的服務突然不能用了,頭一天還正常運行,第二天沒做任何重新配置,重啟,就是無法訪問。
  2. 其次,使用kubectl 命令的時候出現:

xxxx:6443 was refused , did you specify the right host or port?

錯誤,這個錯誤說明,Kubernetes的apiserver沒有啟動。

       3. 查看 Kubernetes的apiserver 的日志(/var/log/kube-apiserver.log),會發現如下循環出現的錯誤

authentication.go:63] "Unable to authenticate the request" err="[x509: certificate has expired or is not yet valid: 。。。

4.執行 kubeadm alpha certs check-expiration

   會得到認證及其期限的一覽

解決辦法

解決辦法有很多,但是自己動手搭K8s的小伙伴大多是不可能買CA證書的,就是沖着免費去的。

所以,我也推薦大家直接使用K8s的命令更新證書,會延續一年的壽命。

kubeadm alpha certs renew all

執行完命令后,reboot 控制節點的機器應該就解決了。

注:文中所述命令都是在kubernetes集群的控制節點上運行。如果權限不足,請sudo


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM