Rancher創建用戶報錯 x509: certificate has expired or is not yet valid


報錯信息:

Internal error occurred: failed calling webhook "rancherauth.cattle.io": Post https://rancher-webhook.cattle-system.svc:443/v1/webhook/validation?timeout=10s: x509: certificate has expired or is not yet valid

排查思路: 

1、根據報錯信息可以看出是證書過期了

    可用信息  cattle-system.svc ,去該名稱空間下找到過期的證書

 

 

 

 

2、接下來需要准備簽發證書所需文件

     打開cattle-webhook-ca  查看編輯YAML(找到自己對應簽發的CA文件)

 

 

 將兩個秘鑰分別用base64進行解密(直接網上搜索)

 解密文件分別保存為  ca.crt   ca.key  (創建單獨目錄存放,后面簽發證書需要這兩個文件)

 打開cattle-webhook-tls

 將里面的tls證書進行解密,保存文件tls.crt

 

 

 同時需要查看舊的證書細節:

 openssl x509 -in tls.crt -noout -text

 

 

 

  DNS 這塊在Chrome55下正常生成證書測試沒問題的,但是Chrome61下測試提示Subject Alternative Name missing錯誤:

  The certificate for this site does not contain a Subject Alternative Name extension containing a domain name or IP address.

  所以我們需要生成v3證書,准備openssl.cnf文件(和上面測CA文件放在一起)內容如下:

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = rancher.webhook                     # 填寫tls.crt詳情里面的 DNS 地址
DNS.2 = rancher-webhook.cattle-system.svc   # 填寫tls.crt詳情里面的 DNS 地址

 3、簽發證書

# 生成服務端私鑰
openssl genrsa -out new.key 2048

 

# 生成證書請求文件
openssl req -new -key new.key -out new.csr

 

 

# 生成最終證書文件,-day指定證書有效期 3650 是十年
openssl x509 -req -days 3650 -sha256 -CA ca.crt -CAkey ca.key -CAcreateserial -extfile openssl.cnf -extensions v3_req -in new.csr -out new.crt

 

 

 

得到 new.key  new.crt兩個文件,將兩個證書導入到 cattle-webhook-tls 最后點擊保存

 

 

 

 最后我們可以通過API查看,看到我們現在證書有效期

 

 

 


免責聲明!

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



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