rancher~升級v2.6.3之后業務集群無法連rancher的解決方法


參考:https://docs.rancher.cn/docs/rancher2.5/faq/upgrade/_index/

原因

當我們升級自簽名證書安裝的 Rancher Server 到 2.5.10 以上,或 2.6.x 后,cluster-agent/node-agent 有可能會報下面的錯,導致 cluster-agent/node-agent 無法啟動:
x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0"
這是因為 Rancher 把 v2.5.10 以上,或 2.6.x 之后將 go 版本從 1.14 提升到了 1.16。而且,go 1.15 版本開始廢棄 CommonName,推薦使用 SAN 證書,參考:https://golang.org/doc/go1.15#commonname 。 如果你的自簽名證書中不包含 SANs,就會出現下面的報錯。

錯誤提示

x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0"#

解決

方案 1:

  • 替換 Rancher HA 證書#
  • 使用一鍵生成 ssl 自簽名證書腳本 重新生成證書,然后參考無需重新搭建集群,輕松替換證書替換 Rancher HA 的證書。

方案 2:

添加環境變量 GODEBUG=x509ignoreCN=0#
更新 Rancher Server ,添加環境變量GODEBUG=x509ignoreCN=0
升級 Rancher 通過extraEnv設置環境變量GODEBUG=x509ignoreCN=0,例如:

helm upgrade rancher rancher-latest/rancher \
  --namespace cattle-system \
  ...
  --set 'extraEnv[0].name=GODEBUG'\
  --set 'extraEnv[0].value=x509ignoreCN=0' \
  ...

或者,來添加環境變量

kubectl edit deployment rancher --namespace cattle-system 

更新業務集群的 Rancher Agent,添加環境變量GODEBUG=x509ignoreCN=0
編輯下游集群,點擊 Add Environmenet Variable,設置環境變量,如下:

 kubectl edit deployment cattle-cluster-agent -n cattle-system
 kubectl edit deployment cattle-node-agent -n cattle-system


免責聲明!

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



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