進行生產環境軟體升級的清單


軟體升級是維護最新且無錯誤生產環境的必要部分。然而,執行升級可能是一項複雜且具挑戰性的任務,需要仔細的規劃。本博客文章提供一個生產環境軟體升級清單,以確保順利的升級過程。

升級前清單

  • 確定升級的範圍: 確定需要從哪個版本升級到哪個版本。審核升級路徑和相關政策。記錄升級路徑上的任何異常。

  • 檢查前提條件: 查詢基礎版本的相容性矩陣,如資料庫、密碼管理器、服務網格、Kubernetes叢集和 Docker 運行時間。考慮版本兼容性以防止部署後出現問題是至關重要的。

  • 評估影響: 確定在升級過程中或之後可能出現的任何潛在風險或問題。同時,估算可能需要的停機時間。回顧「新功能」,發佈說明和重要變化。為大型升級如架構變更或資料庫遷移安排停機時間。

  • 制定回滾計劃: 如果升級失敗或造成問題,創建回滾計劃是必要的。此計劃應描述回滾到先前軟體版本所必需的步驟。

  • 通知相關人員: 通知最終用戶、監管機構和內部持分者(如 IT團隊和管理層)。指派負責人(PIC)處理清單上的相關任務,並建立Slack頻道或Zoom通話來進行即時通訊。

  • 檢查設定: 審查需要設定的任何新欄位,或評估預設值是否適合您的環境。更新設定文件以匹配新版本。

  • 存取密碼: 確保在秘密管理器中可用所有必要的秘密,例如根資料庫密碼。根據需要更新它們。

  • 進行模擬演練: 在非生產環境中進行升級,以確定潛在的問題或風險。

升級中清單

  • 執行升級: 按照官方文件中的步驟開始升級。密切監控這個過程,以便捕捉任何問題或錯誤。

  • 健康檢查: 升級完成後,評估系統的狀態。如果遇到未預期的問題,例如pod無窮迴圈崩潰,提出生產議題並聯絡相關團隊。

升級後清單

  • 執行手動升級後步驟: 根據文件進行任何額外的操作。典型的任務可能包括垃圾回收或刪除未使用的資源。

  • 驗證系統功能: 確認升級後的系統運行正常,且所有數據和配置已正確遷移。

  • 進行檢查: 進行用戶驗收測試,以確保系統達到所有要求,並且最終用戶感到滿意。

  • 監控指標: 使用像Grafana這樣的儀表板來識別任何異常行為,並回顧錯誤消息的日誌。

  • (僅限於資料庫升級): 檢查雜湊模式的列和過程,如查詢結果生成、排序、雜湊和比較,以及行計數。

  • 更新文件: 修訂所有相關的內部文件以反映升級期間所做的變更。

  • 進行升級後審查: 評估升級的成功情況並確定改善範疇。

總結

在生產環境中升級到新軟體版本是一個重要的過程,一個結構良好的清單可以使升級過程更順利。此清單應根據每個系統的特定需求進行定制,並定期更新以反映生產環境或正在使用的軟體版本的變化。