使用 Schematics 管理資源
使用 IBM Cloud Schematics 來部署、修改及移除 IBM Cloud® 資源,以套用 Terraform 範本。
部署資源
透過 Schematics 部署您的 Terraform configs 以提供或修改您的雲端資源。
開始之前
- 從使用者介面建立工作區 或透過 CLI 建立 工作區。
- 確保您具有在目標IBM Cloud 帳戶中部署資源所需的 IAM 許可權。
部署您的資源
-
從 工作區儀表板中,選取您要套用之 Terraform 範本的工作區。
範例範本列於 雲端 Schematics GitHub,,您可以使用其中一個範本進行測試。 例如,Easy 多區域 VPC。
-
選取設定標籤。
-
在「詳細資料」部分,點選「Pull latest」從連結的 GitHub 原始碼軟體倉庫取得 Terraform 模版的最新版本。 如果您透過上傳磁帶保存檔 (
.tar) 來提供 Terraform 範本,則必須使用ibmcloud schematics workspace upload指令來提供範本的新版本。 -
選用:檢閱為工作區設定的變數。 在 Terraform 模板中引用變量時,會使用變量的值。
-
按一下產生方案,以建立 Terraform 執行計劃。 按一下此按鈕之後,即會開啟工作區 工作 頁面,且 Schematics 會執行
terraform plan,以將您已在 IBM Cloud 帳戶中佈建的資源狀態與您要使用 Terraform 範本佈建的資源進行比較。 -
按一下工作,檢視執行計劃的記錄。 執行計劃包括建立、修改或刪除的雲端資源摘要,以達成您在 Terraform 模版中描述的狀態。 如果 Terraform 配置檔中有語法錯誤,可以在日誌檔中檢閱錯誤訊息。
-
檢視 Schematics 即將建立或變更的每個雲端資源的可用服務計劃和定價資訊。 部分服務具有每個 IBM Cloud 帳戶的限制。 如果您即將到達帳戶的服務限制,在您增加服務配額或先移除現有服務之前並不會佈建資源。
-
當您備妥時,請按一下 套用方案來套用 Terraform 範本。 此動作等於
terraform apply指令。 按一下按鈕後,IBM Cloud Schematics 會根據執行計畫中識別的動作開始佈建、修改或刪除您的雲端資源。 視您要佈建或修改的資源類型和數量而定,此程序可能需要幾分鐘甚至幾小時才能完成。 在此期間,您無法進行工作區的變更。 套用所有更新後,雲端資源的狀態會儲存在 Terraform 狀態檔案中,IBM Cloud Schematics 用於確定 IBM Cloud 帳戶中存在哪些資源。如果您想要停止套用 Terraform 範本,則可以使用 停止 按鈕。 請注意,不會移除已建立的所有資源。 如果資源目前正在佈建,Schematics 會等待佈建完成,然後停止在 Terraform 範本中建立、更新或刪除任何其他資源。
-
檢閱作業記錄,以確保在佈建、修改或刪除過程中沒有發生錯誤。
-
從導覽中選取資源,即可找到 IBM Cloud 帳戶中可用的雲端資源摘要。
更新資源
若要更新雲端資源,請更新您的 Terraform 模板,其中包含必須在資源上執行的所需變更。
根據配置變更,Terraform 可能無法就地更新資源。 相反地,Terraform 需要先刪除資源並建立新的資源。 如果 Terraform 識別要移除並重建的資源,請確定您不會岔斷工作環境,或刪除資料。
若要更新資源,請執行下列動作:
-
從 工作區控制面板,選擇指向您更新的 Terraform 模版的工作區。
-
選取設定標籤。
-
在「詳細資料」部分,點選「Pull latest」從連結的 GitHub 原始碼軟體倉庫取得 Terraform 模版的最新版本。 如果您透過上傳磁帶保存檔 (
.tar) 來提供 Terraform 範本,則必須使用ibmcloud schematics workspace upload指令來提供範本的新版本。 -
如果您想要變更建立工作區時所設定的變數值,請變更變數值。
-
按一下產生方案,以建立 Terraform 執行計劃。 請注意,在此期間您無法變更工作區。
-
按一下 工作,以檢閱執行日誌。 工作日誌提供 IBM Cloud Schematics 即將修改之所有資源的摘要。IBM Cloud Schematics 可能無法修改部分資源,並建議移除並重建資源。
-
按一下 套用計劃,以套用新的 Terraform 範本版本。 視您所做的變更而定,套用範本可能需要幾分鐘或幾小時。 請注意,在此期間您無法變更工作區。
如果您想要停止套用 Terraform 範本,則可以使用 停止 按鈕。 請注意,不會回復已執行之資源的更新。 如果資源目前正在更新,Schematics 會等待更新完成,然後停止在 Terraform 範本中建立、更新或刪除任何其他資源。
-
檢閱工作記錄,以確保修改過程中沒有發生錯誤。
-
從導覽畫面中,選取資源,並驗證資源是否顯示更新的配置。
管理雲端環境與 Terraform 配置之間的漂移
管理雲端環境實際狀態與基礎架構程式碼 (也稱為 drift) 之間的偏差,是實作基礎架構即程式碼的主要挑戰。 偏差可能有許多原因,例如:
- 您已在 Terraform 配置檔中新增、更新或移除資源,而未執行基礎架構程式碼。
- 您已在沒有 Terraform 的情況下手動新增、更新或移除 IBM Cloud。
- 您使用其他自動化工具,例如腳本來操控雲端資源的狀態。
請參閱使用工作區 漂移偵測 特性。
檢閱資源和部署詳細資料
查看 IBM Cloud Schematics 部署的詳細資訊,以及您目前使用 IBM Cloud Schematics 管理的雲端資源。
- 從 工作區控制面板,選取您要檢查的工作區。
- 從導覽中選取設定,即可找到工作區中的活動摘要。
- 檢閱先前 Terraform 執行計劃和已套用計劃的日誌。
- 從導覽中選取資源,檢視您使用此工作區建立的雲端資源狀態。
- 若要檢閱誰對 Terraform 範本進行了變更,請移至 GitHub 中鏈結到您工作區的來源儲存庫,並使用內建功能(例如,確定歷程和取回要求)來檢閱變更。
- 若要檢閱 Schematics 傳送到 IBM Cloud Activity Tracker Event Routing 的事件,請參閱 IBM Cloud Activity Tracker Event Routing 事件。
移除資源
要移除使用 IBM Cloud Schematics 佈建的雲端資源,您可以使用 Schematics 移除資源、刪除工作區,或移除 Terraform 模板中的基礎架構程式碼。
移除雲端資源無法撤銷。 因此,請確保在移除資源之前備份了資料。 如果選擇移除基礎架構程式碼或註銷 Terraform 配置檔中的資源,請確保完整檢閱執行計劃的日誌檔,以驗證移除作業中是否包含所有資源。
若要透過移除 Terraform 範本中的資源配置來移除資源:
-
在 GitHub 或本端機器上,開啟來源儲存庫中的 Terraform 配置檔。
-
從該檔案移除基礎架構程式碼,或者藉由在每行開頭新增
#來註銷要移除的資源。透過註銷資源定義來移除資源的範例:
# resource ibm_is_instance "vsi1" { # name = "${local.BASENAME}-vsi2" # vpc = ibm_is_vpc.vpc.id # zone = "${local.ZONE}" # keys = [data.ibm_is_ssh_key.ssh_key_id.id] # image = data.ibm_is_image.ubuntu.id # profile = "cc1-2x4" # primary_network_interface { # subnet = ibm_is_subnet.subnet1.id # security_groups = [ibm_is_security_group.sg1.id] # } #} -
確定對 Terraform 配置檔的變更。
-
從 工作區儀表板中,選取您剛剛變更之 Terraform 範本的工作區。
-
從導覽選取設定。
-
在「詳細資料」部分,點選「Pull latest」從連結的 GitHub 原始碼軟體倉庫取得 Terraform 模版的最新版本。 如果您透過上傳磁帶保存檔 (
.tar) 來提供 Terraform 範本,則必須使用ibmcloud schematics workspace upload指令來提供範本的新版本。 -
按一下產生方案,以建立 Terraform 執行計劃。 工作區工作頁面會開啟。 請注意,在此期間您無法變更工作區。
-
按一下工作,檢視執行計劃的記錄。 該日誌提供 IBM Cloud Schematics 即將移除的所有資源的摘要。
-
按一下套用計劃,從帳戶中移除雲端資源。
如果您想要停止套用 Terraform 範本,則可以使用 停止 按鈕。 請注意,不會重建所有已移除的資源。 如果目前正在刪除資源,Schematics 會等待刪除完成,然後停止在 Terraform 範本中建立、更新或刪除任何其他資源。
-
檢閱日誌檔,以確保在刪除程序中未發生任何錯誤。
-
從導覽選取資源,並驗證您的資源已移除。
-
選用項目:移除所有資源之後,移除您的工作區。
-
開啟 工作區儀錶板,找到要移除的工作區。
-
按一下 動作 標籤,然後選取 刪除工作區 選項。
-
在 鍵入
workspace_name中鍵入工作區名稱,以確認 文字框。 -
按一下刪除按鈕。
若要使用 Schematics 主控台移除資源:
- 從 工作區控制面板,找到包含您要刪除的資源的工作區。
- 按一下 動作 標籤,然後選取 毀損資源 選項。
- 在 鍵入
workspace_name中鍵入工作區名稱,以確認 文字框。 請注意,毀損資源會從工作區及 IBM Cloud移除資源。 這個動作無法復原。 - 按一下 毀損 按鈕。
- 從導覽中選取工作,檢視資源刪除的記錄。 請確定在刪除處理程序期間未發生任何錯誤。
- 工作執行成功後,從導覽中選擇「資源」,並驗證您的資源是否已移除。
資源移除完成之後,可以刪除 Schematics 工作區。
透過 CLI 部署資源
透過 Schematics 部署您的 Terraform configs 以提供或修改您的雲端資源。
開始之前:
- 從 CLI 建立工作區 或使用 CLI 建立 工作區。
- 確保您擁有所需的 IAM 權限,才能在 IBM Cloud 中部署資源。
若要部署資源,請執行下列動作:
-
從 本端指令行介面 設定 CLI 及 Schematics 外掛程式。
-
使用
ibmcloud schematics workspace list指令來列出工作區。 -
使用
ibmcloud schematics workspace get指令來取得工作區。 -
如果您透過上傳磁帶保存檔 (
.tar) 來提供 Terraform 範本,則必須使用ibmcloud schematics workspace upload指令。 -
使用
ibmcloud schematics plan指令來建立 Terraform 執行計劃。 -
使用您的工作區 ID,透過
ibmcloud schematics logs指令來擷取日誌。 -
當您備妥時,請執行
ibmcloud schematics apply指令。如果您想要停止套用 Terraform 範本,則可以使用
ibmcloud schematics job delete指令。 請注意,不會移除已建立的所有資源。 如果資源目前正在佈建,Schematics 會等待佈建完成,然後停止在 Terraform 範本中建立、更新或刪除任何其他資源。 -
檢閱作業記錄,以確保在佈建、修改或刪除過程中沒有發生錯誤。
-
從導覽窗格 中,選取資源以尋找 IBM Cloud 帳戶中可用的雲端資源摘要。
透過 CLI 更新資源
若要更新雲端資源,請更新您的 Terraform 模板,其中包含必須在資源上執行的所需變更。
根據配置變更,Terraform 可能無法就地更新資源。 相反地,Terraform 需要先刪除資源並建立新的資源。 如果 Terraform 識別要移除並重建的資源,請確定您不會岔斷工作環境,或刪除資料。
若要更新資源,請執行下列動作:
-
從 指令行介面 設定 CLI 及 Schematics 外掛程式。
-
使用
ibmcloud schematics workspace list指令來列出工作區。 -
使用
ibmcloud schematics workspace get指令來取得工作區。 -
如果您透過上傳磁帶保存檔 (
.tar) 來提供 Terraform 範本,則必須使用ibmcloud schematics workspace upload指令。 -
使用
ibmcloud schematics plan指令來建立 Terraform 執行計劃。 -
使用您的工作區 ID,透過
ibmcloud schematics logs指令來擷取日誌。 -
當您備妥時,請執行
ibmcloud schematics apply指令。如果您想要停止套用 Terraform 範本,則可以使用
ibmcloud schematics job delete指令。 請注意,不會移除已建立的所有資源。 如果資源目前正在佈建,Schematics 會等待佈建完成,然後停止在 Terraform 範本中建立、更新或刪除任何其他資源。 -
檢閱作業記錄,以確保在佈建、修改或刪除過程中沒有發生錯誤。
-
從導覽窗格 中,選取資源以尋找 IBM Cloud 帳戶中可用的雲端資源摘要。
透過 CLI 管理雲端環境與 Terraform 配置之間的漂移
管理雲端環境實際狀態與基礎架構程式碼 (也稱為 drift) 之間的偏差,是實作基礎架構即程式碼的主要挑戰。 偏差可能有許多原因,例如:
- 您已在 Terraform 配置檔中新增、更新或移除資源,而未執行基礎架構程式碼。
- 您已在沒有 Terraform 的情況下手動新增、更新或移除 IBM Cloud。
- 您使用其他自動化工具,例如腳本來操控雲端資源的狀態。
請參閱使用工作區 漂移偵測 特性。
透過 CLI 檢閱資源及部署詳細資料
查看 IBM Cloud Schematics 部署的詳細資訊,以及您目前使用 IBM Cloud Schematics 管理的雲端資源。
- 從 指令行介面 設定 CLI 及 Schematics 外掛程式。
- 從導覽窗格 中,選取資源以尋找 IBM Cloud 帳戶中可用的雲端資源摘要。
- 若要檢閱誰對 Terraform 範本進行了變更,請移至 GitHub 中鏈結到您工作區的來源儲存庫,並使用內建功能(例如,確定歷程和取回要求)來檢閱變更。
- 若要檢閱 Schematics 傳送到 IBM Cloud Activity Tracker Event Routing 的事件,請參閱 IBM Cloud Activity Tracker Event Routing 事件。
透過 CLI 移除資源
要移除使用 IBM Cloud Schematics 佈建的雲端資源,您可以使用 Schematics 移除資源、刪除工作區,或移除 Terraform 模板中的基礎架構程式碼。
移除雲端資源無法撤銷。 因此,請確保在移除資源之前備份了資料。 如果選擇移除基礎架構程式碼或註銷 Terraform 配置檔中的資源,請確保完整檢閱執行計劃的日誌檔,以驗證移除作業中是否包含所有資源。
從 Terraform 模板中刪除基礎結構程式碼,以移除您的資源:
-
在 GitHub 或本端機器上,開啟來源儲存庫中的 Terraform 配置檔。
-
從該檔案移除基礎架構程式碼,或者藉由在每行開頭新增
#來註銷要移除的資源。註銷資源的範例:
#resource ibm_is_instance "vsi1" { # name = "${local.BASENAME}-vsi2" # vpc = ibm_is_vpc.vpc.id # zone = "${local.ZONE}" # keys = [data.ibm_is_ssh_key.ssh_key_id.id] # image = data.ibm_is_image.ubuntu.id # profile = "cc1-2x4" # primary_network_interface { # subnet = ibm_is_subnet.subnet1.id # security_groups = [ibm_is_security_group.sg1.id] # } #} -
確定對 Terraform 配置檔的變更。
-
從 指令行介面 設定 CLI 及 Schematics 外掛程式。
-
使用
ibmcloud schematics workspace get指令來取得工作區。 -
如果您透過上傳磁帶保存檔 (
.tar) 來提供 Terraform 範本,則必須使用ibmcloud schematics workspace upload指令。 -
使用
ibmcloud schematics plan指令來建立 Terraform 執行計劃。 -
使用您的工作區 ID,透過
ibmcloud schematics logs指令來擷取日誌。 -
當您備妥時,請執行
ibmcloud schematics apply指令。如果您想要停止套用 Terraform 範本,則可以使用
ibmcloud schematics job delete指令。 請注意,不會移除已建立的所有資源。 如果資源目前正在佈建,Schematics 會等待佈建完成,然後停止在 Terraform 範本中建立、更新或刪除任何其他資源。 -
檢閱作業記錄,以確保在佈建、修改或刪除過程中沒有發生錯誤。
-
從導覽窗格 中,選取資源以尋找 IBM Cloud 帳戶中可用的雲端資源摘要。
-
選用項目: 移除所有資源之後,請使用
ibmcloud schematics workspace delete指令移除工作區。