從磁碟區管理影像
從磁區建立的自訂映像檔與原始磁區無關。 您可以視需要更新映像檔並刪除它。 您可以刪除原始磁區,且自訂映像檔會持續保存。 您可以在主控台、CLI 或 API 中排定淘汰並使映像檔作廢。
允許使用表達式:您可以在自訂影像中使用允許使用表達式,以定義影像的功能和限制,並協助您在伺服器建立時找到相容的影像和設定檔組合。 從磁碟區建立的任何自訂影像的允許使用表達式預設值是原始來源磁碟區的允許使用表達式。 不過,您可以在自訂影像上編輯這些允許使用的表達式。 如需詳細資訊,請參閱 在自訂影像中加入允許使用的表達式。
使用使用者介面排程自訂影像的生命週期狀態變更
您可以排定單一映像檔生命週期狀態變更,或排定映像檔整個生命週期的狀態變更。
請使用下列步驟來排定單一狀態變更:
您可以排定映像檔的單一狀態變更。
- 在 IBM Cloud 主控台中,移至導覽功能表圖示-功能表
> Infrastructure
> 運算 > 影像。
- 在 自訂影像 標籤上,按一下特定影像的「動作」圖示
,然後從可用的選項中選取。
- 選取 排程生命週期。
- 在 映像檔狀態中,選取映像檔的狀態變更。
- 在 淘汰詳細資料中,選取是 立即 變更狀態,還是 排定未來日期。
- 如果您選擇「排定未來日期」,則需要填寫下列欄位:
- 選取 依行事曆日期 或 依天數。
- 如果您選取 依行事曆日期,請輸入日期和時間資訊。 這是將發生狀態變更的日期和時間。
- 如果您選取 依天數,請輸入在變更狀態之前將經過的天數。
- 選取 依行事曆日期 或 依天數。
- 按一下儲存。
請使用下列步驟來排定映像檔的整個生命週期:
您可以排定映像檔的完整生命週期。 映像檔首先已淘汰,然後根據您定義的排程變更為已作廢。 請使用下列步驟來排定生命週期變更。
-
在 IBM Cloud 主控台中,移至導覽功能表圖示-功能表
> Infrastructure
> 運算 > 影像。
-
在 自訂影像 標籤上,按一下特定影像的「動作」圖示
,然後從可用的選項中選取。
-
選取 排程生命週期。
-
選取排程完整生命週期。
- 如果您選取 依行事曆日期,請輸入您要發生狀態變更的日期和時間。
- 如果您選取 依天數,請在變更狀態之前放入您要經歷的天數。
作廢的日期必須晚於淘汰日期。
-
按一下排程。
使用 CLI 變更自訂映像的生命週期狀態
您可以從指令行介面 (CLI) 變更從磁區建立之 IBM Cloud VPC 映像檔的生命週期狀態。 您可以使用 ibmcloud is image-deprecate 或 ibmcloud is image-obsolete 指令來立即變更狀態。 您也可以使用 ibmcloud is image-update 指令,將這些狀態變更排定在未來的日期和時間。 使用 IMAGE 變數指定自訂映像檔的名稱或 ID。
若要立即進行狀態變更,請使用下列其中一個範例。
只有在未排定未來狀態變更時,您才能立即進行狀態變更。 若要移除排定的狀態變更,請參閱 使用 CLI 移除排定的自訂映像檔生命週期狀態變更。 移除排程狀態變更之後,您可以立即進行狀態變更。
-
將映像檔生命週期狀態變更為
deprecate。ibmcloud is image-deprecate IMAGE -
將映像檔生命週期狀態變更為
obsolete。ibmcloud is image-obsolete IMAGE
若要排定狀態變更,請使用下列範例。
對於 deprecate-at 或 obsolete-at 選項,請以 ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm) 日期和時間格式指定日期。
YYYY是四位數的年份MM是兩位數的月份DD是兩位數的日期T會區隔日期和時間資訊hh是兩位數的小時mm是兩位數的分鐘+hh:mm或-hh:mm是 UTC 時區
因此,2023 年 9 月 30 日北美中部標準時區 (CST) 晚上 8:00 的日期為 2023-09-30T20:00:00-06:00
排程日期和時間時,您無法使用現行日期和時間。 例如,如果它是 6 月 12 日 8:00 AM,則排定的日期和時間必須晚於 6 月 12 日 8:00 AM。 如果您同時定義 deprecate-at 和 obsolete-at 日期,obsolete-at 日期必須在 deprecate-at 日期之後。
ibmcloud is image-update IMAGE [--deprecate-at YYYY-MM-DDThh:mm:ss+hh:mm] [--obsolete-at YYYY-MM-DDThh:mm:ss+hh:mm]
如果您想要變更 deprecate-at 和 obsolete-at 日期和時間項目,您可以重新執行這些指令。 然後會將先前的日期和時間取代為新的日期和時間。
使用 CLI 移除先前排程的生命週期狀態變更
您可以使用 --reset-deprecate-at 或 --reset-obsolete-at 選項來移除排程狀態變更。 如果您在 ibmcloud is image-update 指令中使用下列任一選項,則會從映像檔中移除日期和時間。 映像檔不再排定該狀態變更。
ibmcloud is image-update IMAGE [--reset-deprecate-at] [--reset-obsolete-at]
如果您同時使用 --reset-deprecate-at 和 --reset-obsolete-at 選項,映像檔狀態會回到 available。
使用 API 變更自訂影像的生命週期狀態
您可以使用應用程式設計介面 (API) 變更從磁區建立之 IBM Cloud VPC 映像檔的生命週期狀態。 您可以立即進行狀態變更,或排定稍後進行狀態變更。
若要立即進行狀態變更,請使用下列其中一個範例。 對於 $image_id 變數,指定狀態變更的自訂映像檔 ID。
只有在未排定未來狀態變更時,您才能立即進行狀態變更。 若要移除排定的狀態變更,請參閱 使用 API 移除排定的自訂映像檔生命週期狀態變更。 移除排程狀態變更之後,您可以立即進行狀態變更。
-
將映像檔生命週期狀態變更為
deprecated。curl -X POST "$vpc_api_endpoint/v1/images/$image_id/deprecate?version=2023-02-21&generation=2" -H “Authorization: Bearer $iam_token” -
將映像檔生命週期狀態變更為
obsolete。curl -X POST "$vpc_api_endpoint/v1/images/$image_id/obsolete?version=2023-12-21&generation=2" -H “Authorization: Bearer $iam_token”
若要排定狀態變更,請使用下列其中一個範例。
對於 deprecation_at 或 obsolescence_at 內容,請以 ISO 8601 (YYYY-MM-DDThh:mm:ss+hh:mm) 日期和時間格式指定日期。
YYYY是四位數的年份MM是兩位數的月份DD是兩位數的日期T會區隔日期和時間資訊hh是兩位數的小時mm是兩位數的分鐘+hh:mm或-hh:mm是 UTC 時區
因此,2023 年 9 月 30 日北美中部標準時區 (CST) 晚上 8:00 的日期為 2023-09-30T20:00:00-06:00
排程日期和時間時,您無法使用現行日期和時間。 例如,如果它是 6 月 12 日 8:00 AM,則排定的日期和時間必須晚於 6 月 12 日 8:00 AM。 如果您同時定義 deprecation_at 和 obsolescence_at 日期和時間,則 obsolescence_at 日期必須晚於 deprecation_at 日期和時間。
-
將狀態變更排定為
deprecated。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "deprecation_at": "2023-03-01T06:11:28+05:30" }' -
將狀態變更排定為
obsolete。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ “obsolescence_at": "2023-12-31T06:11:28+05:30" }'如果您想要變更
deprecation_at和obsolescence_at日期和時間項目,您可以重新執行這些指令。 先前的日期和時間會取代為新的日期和時間。
使用 API 移除先前排程的生命週期狀態變更
將 deprecation_at 或 obsolescence_at 更新為 null,以提出 PATCH /images 要求來移除任何排定的狀態變更。 此內容變更會從映像檔移除日期和時間,且映像檔不再排定該狀態變更。
-
若要將映像檔從
deprecated變更為available,請將deprecation_at內容變更為null。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "deprecation_at": null }' -
若要將映像檔從
obsolete變更為其先前狀態,請將obsolescence_at變更為null。 如果映像檔先前包含的值不是deprecation_at的null,則此內容變更會移除obsolete狀態,並將它變更回deprecated。 如果前一個狀態是available,表示影像已從available直接移至obsolete,則此內容變更會從obsolete移回available。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ “obsolescence_at": null }' -
若要變更同時將
deprecation_at或obsolescence_at內容設回available的映像檔,您必須同時更新deprecation_at或obsolescence_at內容。curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=2022-11-21&generation=2" -H "Authorization: Bearer $iam_token" -d '{ "deprecation_at": null, “obsolescence_at": null }'
效能考量
數個因素可能會影響磁區中映像檔排入佇列及建立的速度,例如映像檔大小及佇列中的工作數目。 如果映像檔花費的時間超過您想要等待的時間,您可以取消工作。
映像檔建立期間的效能
當您建立映像檔時,API status_reasons 參數會指出 image_request_queued,並顯示 _"The image request is accepted and waiting for system resources to available"_訊息。 當您看到此訊息時,可能需要一些時間來啟動工作。 下表提供一些基於映像檔大小的準則。 檢查 in_progress 狀態,以查看是否正在建立映像檔。 同樣地,視映像檔的大小而定,可能需要一些時間才能使用映像檔。
| 影像大小 | 映像檔可用之前的預估時間 |
|---|---|
| 5 GB | 5 分鐘 |
| 10 GB | 10 分鐘 |
| 25 GB | 25 分鐘 |
| 50 GB | 50 分鐘 |
| 75 GB | 1 小時 15 分鐘 |
| 100 GB | 1 小時 40 分鐘 |
工作開始的時間大約是 30 秒。 此時間不會反映佇列中的資料流量,這可能會增加預估。 大部分工作在 5-10 分鐘內開始。 如果需要較長時間,請 取消建立映像檔。
取消已排入佇列等待建立的映像檔
如果基礎工作尚未啟動,您可以透過刪除映像檔來取消映像檔建立。 對於處於 pending 狀態的映像檔,GET /images API 呼叫會傳回 image_request_queued 原因碼。 您可以使用 DELETE /image{image_id} 要求來刪除擱置映像檔。 或者,您可以使用 使用者介面 或 CLI 來刪除處於擱置狀態的映像檔。
使用使用者介面刪除自訂影像
您可以從自訂影像清單中刪除從磁碟區建立的影像。 您可以刪除處於擱置狀態 (正在建立中) 且處於可用狀態的映像檔。
- 移至自訂映像檔清單。 在 IBM Cloud 主機 中,前往 導覽選單
> VPC 基礎架構
> 運算 > 映像檔。
- 在 自訂影像 標籤上,尋找您要刪除的影像。 從 動作 功能表
中,選取 刪除。
使用 CLI 從磁碟區刪除影像
-
從映像檔清單中的磁區尋找映像檔。
ibmcloud is images -
依 ID 刪除映像檔。
ibmcloud is image-delete IMAGE_ID
使用 API 從磁碟區刪除影像
提出 DELETE /images 要求,並指定從開機磁區建立的映像檔 ID。
-
從磁區尋找映像檔的 ID:
curl -X GET "$vpc_api_endpoint/v1/images?version=2024-06-12&generation=2" -H "Authorization: Bearer $iam_token" -
依 ID 刪除映像檔:
curl -X DELETE "$vpc_api_endpoint/v1/images/$image_id?version=2024-06-12&generation=2" -H "Authorization: Bearer $iam_token"
下一步
預覽從磁區建立映像檔的端對端處理程序,然後您可以在建立新的虛擬伺服器實例時使用該映像檔。 如需相關資訊,請參閱 磁區中的映像檔指導教學。