本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 AWS OpsWorks for Chef Automate 服務器升級到廚師自動化 2
重要
AWS OpsWorks 廚師自動化已於 2024 年 5 月 5 日終止使用壽命,並已針對新客戶和現有客戶停用。我們建議現有客戶遷移到 Chef SaaS 或替代解決方案。如果您有任何疑問,可以通過 AWS Re: post
升級至 Chef Automate 2 的先決條件
在開始之前,請務必了解 Chef Automate 2 新增的新功能以及 Chef Automate 2 不支援的功能。如需 Chef Automate 2 中新功能和不支援功能的相關資訊,請參閱 Chef 網站上的 Chef Automate 2 文件
執行 Chef Automate 1 的伺服器必須在 2019 年 11 月 1 日之後至少有一次成功的維護執行,才符合升級資格。
與伺服器上的任何維護作業一樣, AWS OpsWorks for Chef Automate 伺服器在升級期間處於離線狀態。在升級程序期間,您應該規劃最多三個小時的停機時間。
您需要此伺服器的登入資料以用於 Chef Automate 儀表板網站。升級完成後,您應該登入到 Chef Automate 儀表板,並確認您的節點和組態資訊沒有變更。
重要
當您準備好將 AWS OpsWorks for Chef Automate 伺服器升級到 Chef Automation 2 時,請僅使用此處的說明進行升級。由於 AWS OpsWorks for Chef Automate 會自動執行許多升級程序 (例如建立備份),因此請勿遵循 Chef 網站上的升級指示。
關於升級程序
在升級程序期間,您的伺服器會在開始升級之前和完成升級之後進行備份。會建立下列備份:
仍在執行 Chef Automate 1 (版本 12.17.33) 之伺服器的備份。
升級完成後的伺服器備份,此伺服器執行 Chef Automate 2 (版本 2019-08)。
升級程序會終止伺服器執行 Chef 自動化 1 時所使用的 Amazon EC2 執行個體。並建立一個新的執行個體來執行 Chef Automate 2 伺服器。
升級至 Chef Automate 2 (主控台)
請登入 AWS Management Console 並開啟 AWS OpsWorks 主控台,網址為 https://console.aws.amazon.com/opsworks/
。 在左側導覽窗格中,選擇 AWS OpsWorks for Chef Automate。
選擇伺服器以檢視其屬性頁面。頁面頂端的藍色橫幅應該會指出伺服器是否符合升級至 Chef Automate 2 的資格。
注意
執行 Chef Automate 1 的伺服器必須在 2019 年 11 月 1 日之後至少有一次成功的維護執行,才符合升級資格。
如果伺服器符合升級資格,請選擇 Start upgrade (開始升級)。
升級最多需要三個小時。在升級程序期間,屬性頁面會將伺服器狀態顯示為 Under maintenance (維護中)。
升級完成時,屬性頁面會顯示下列兩則訊息:Successfully upgraded to Automate 2 (成功升級至 Automate 2)、Maintenance completed successfully (維護成功完成)。伺服器狀態應為 HEALTHY (狀態良好)。
使用您現有的登入資料登入 Chef Automate 儀表板,並確認您的節點是否正確回報。
升級至 Chef Automate 2 (CLI)
-
(選擇性) 如果您不確定哪些 AWS OpsWorks for Chef Automate 伺服器符合升級資格,請執行下列命令。如果您要列出與預設 AWS 區域不同的 AWS 區域中的 AWS OpsWorks for Chef Automate 伺服器,請務必新增
--region
參數。aws opsworks-cm describe-servers
在結果中,尋找屬性
CHEF_MAJOR_UPGRADE_AVAILABLE
是否有true
的值。這表示該伺服器符合升級至 Chef Automate 2 的資格。記下符合升級資格的 AWS OpsWorks for Chef Automate 伺服器名稱。 -
運行以下命令,用
服務器的名稱替換服務器
名稱。 AWS OpsWorks for Chef Automate 若要升級至 Chef Automate 2 而不是執行例行系統維護,請加上CHEF_MAJOR_UPGRADE
引擎屬性,如命令所示。如果目標伺服器不在您的預設 AWS 區域中,請加上--region
參數。每個命令只能升級一部伺服器。aws opsworks-cm start-maintenance --server-name
server_name
--engine-attributes Name=CHEF_MAJOR_UPGRADE,Value=true --regionregion
如果因任何原因 AWS OpsWorks for Chef Automate 無法升級伺服器,此命令會產生驗證例外狀況。
升級最多需要三個小時。您可以執行下列命令來定期檢查升級狀態。
aws opsworks-cm describe-servers --server-name
server_name
在結果中,尋找
Status
值。Status
為UNDER_MAINTENANCE
表示升級仍在進行中。成功升級會傳回類似下列的訊息。2019/10/24 00:27:56 UTC Successfully upgraded to Automate 2. 2019/10/23 23:50:38 UTC Upgrading Chef server from Automate 1 to Automate 2
如果升級不成功, AWS OpsWorks for Chef Automate 會自動將您的伺服器回復至 Chef 自動化 1。
如果升級成功,但伺服器無法如同升級之前那樣運作 (例如,假設受管節點無法回報),您可手動復原伺服器。如需手動復原資訊,請參閱將 AWS OpsWorks for Chef Automate 伺服器回滾到廚師自動化 1 (CLI)。
將 AWS OpsWorks for Chef Automate 伺服器回滾到廚師自動化 1 (CLI)
如果升級程序失敗, AWS OpsWorks for Chef Automate 會自動將您的伺服器復原至 Chef 自動化 1。如果升級成功,但伺服器的運作與升級之前的運作不同,您 AWS OpsWorks for Chef Automate 可以使用 AWS CLI.
-
執行下列命令,顯示在您嘗試升級之前,在伺服器上執行之最後一次備份的
BackupId
。如果您的伺服器位於與預設 AWS 區域不同的 AWS 區域,請加上--region
參數。aws opsworks-cm describe-backups
server_name
Backup 識別碼的格式為
ServerName年月中文系
統。在結果中尋找以下 Chef Automate 1 屬性。"Engine": "Chef" "EngineVersion": "12.17.33"
-
執行下列命令,使用您在步驟 1 中傳回的備份 ID 作為
--backup-id
值。aws opsworks-cm restore-server --server-name
server_name
--backup-idServerName-yyyyMMddHHmmssSSS
視您儲存在伺服器上的資料量而定,還原伺服器需要 20 分鐘到 3 小時的時間。在還原作業期間,您的伺服器的狀態為
RESTORING
。此狀態會顯示在中的伺服器屬性頁面上 AWS Management Console,並在describe-servers命令的結果中傳回。 還原完成後,主控台會顯示 Restore completed successfully (還原成功完成) 訊息。您的 AWS OpsWorks for Chef Automate 伺服器處於線上狀態,與開始升級程序之前的狀態相同。
另請參閱
-
AWS OpsWorks API 參考中的 DescribeServers
-
AWS OpsWorks API 參考中的 StartMaintenance