重新安裝 cert-manager
在某些情況下,可能需要完整解除安裝並重新安裝 cert-manager。例如,當需要將非常舊的 cert-manager 版本更新到最新版本,且無法一次升級一個次要版本時,這是我們預設建議的升級策略。
如果也一併解除安裝 cert-manager 的 CustomResourceDefinition
,這將導致相關的 cert-manager 自訂資源遺失,例如 Certificate
。 主要的顧慮是應用程式停機以及不必要的憑證重新簽發,如果帶有 X.509 憑證的 Secret
被刪除,可能會發生這種情況。您可以使用 cert-manager 控制器的 --enable-certificate-owner-ref
標誌,來配置是否應刪除 Secret
。如果此標誌設定為 true,則每個 Secret
都會擁有其所建立的 Certificate
的擁有者參考,並且當 Certificate
被刪除時,Secret
將被垃圾回收。此標誌的預設值為 false。 如果 Certificate
被刪除並重新套用,但 Secret
仍保留在叢集中,則新套用的 Certificate
應該能夠取得相同的 Secret
,並且不應不必要地重新簽發 X.509 憑證。
當為了升級而解除安裝並重新安裝時,您仍然應該閱讀每個跳過的版本的發行說明。
當考慮解除安裝和重新安裝 cert-manager(包含 CRD)時,需要注意的一些事項
--enable-certificate-owner-ref
標誌目前是否設定為 true,或者之前是否曾經設定為 true?由於先前的錯誤,當--enable-certificate-owner-ref
的值從 true 變更為 false 時,新增到Secret
的擁有者參考不會被移除,請參閱cert-manager#4788
- 目前是否有任何憑證簽發正在進行中? 如果是,在自訂資源被刪除後,進度將會遺失。這可能會導致重複簽發。
- 是否需要將 cert-manager 自訂資源清單轉換為 v1 API?您可以使用
cmctl convert
命令 來執行此操作。