Dapr 預設證書有效時間是1年,證書過期後就不能執行相關控制面和資料面的互動了,如下圖:
通過dapr mtls expiry 看到期時間,具體參見命令https://v1-7.docs.dapr.io/reference/cli/dapr-mtls/dapr-mtls-expiry/
Dapr 支援使用 Dapr 控制平面、Sentry 服務(中央證書頒發機構 (CA))對 Dapr 範例之間的通訊進行傳輸中加密。
Dapr 允許運維和開發人員引入他們自己的證書,或者讓 Dapr 自動建立和儲存自簽名的根證書和頒發者證書。具體參見
https://docs.dapr.io/operations/security/mtls/。
Dapr 在1.7版本引入了一個新的命令:
dapr mtls renew-certificate -k --valid-until <days> –restart
生成全新的根證書和頒發者證書,由新生成的私鑰簽名。Dapr sentry service
必須重新啟動隨後的其餘控制平面服務才能讀取新證書。這可以通過向--restart
命令提供標誌來完成。
對於 1.7 以下版本, 只能手工進行操作,具體可以參考 檔案 https://v1-5.docs.dapr.io/operations/security/mtls/ ,更新完Dapr 證書,則必須重新啟動 Dapr Sentry 服務,然後是 Dapr 控制平面服務的其餘部分。
kubectl rollout restart deploy/dapr-sentry -n <DAPR_NAMESPACE>
一旦sentry 完全重新啟動執行:
kubectl rollout restart deploy/dapr-operator -n <DAPR_NAMESPACE>
kubectl rollout restart statefulsets/dapr-placement-server -n <DAPR_NAMESPACE>
接下來,您必須重新啟動所有啟用 Dapr 的 pod。推薦的方法是重新啟動部署:
kubectl rollout restart deploy/<myapp> –n <APP_NAMESPACE>
在成功重新啟動所有部署(並因此載入新的 Dapr 證書)之前,由於證書不匹配,您將經歷潛在的停機時間。
從 1.7.0 版開始,作為提醒您即將到來的證書到期的附加工具,CLI 現在會在您與基於 Kubernetes 的部署互動時列印證書到期狀態。
歡迎大家掃描下面二維條碼成為我的客戶,為你服務和上雲