計算(Computing)
Computing
之下為建立計算資源的功能,系統管理員在這個功能中,無法做任何 創建 (Create)
相關的動作,僅能瀏覽與刪除。若系統管理員在 admin
的計畫之下,可以看到所有人與所有計畫的內容,但若切換到一般專案,就僅能查看當下計畫的內容。以下分別於接下來的小節詳細說明。
#
容器服務 (Container Service)系統管理員可以在這裡查看與刪除現有的容器服務 (Container Site)。
點擊容器服務名稱,可以查看該容器服務內的更多資訊。詳述如下:
Service Info (服務詳細資訊):顯示服務狀態,以及可以使用的
Public IP
,SSH
資訊。Pod Detail (Pod 詳細資訊):顯示 Pod 的詳細資訊,包含此容器服務的實體 Pod 所在的機器位置、狀態,以及規格等資訊。
Container Detail (容器詳細資訊):由於一個 Pod 內可能有多個容器,因此這頁顯示的是容器的詳細資訊,包含名稱、所使用的
映像檔(Image)
,以及 Port 等資訊。Storage (儲存空間):顯示實體容器所掛載的的儲存空間資訊。若建立容器服務時有給相關儲存設定 (依據 解決方案 的 GSP 定義),則此頁面會呈現該容器下所使用的儲存資訊。包含掛載來源、掛載位置、R/W 權限等。
Network (網路):顯示容器所對應的網路資訊,包含 Port、NodePort、TargetPort 等資訊。當中 NodePort 表示對外的 Port,因此 Public IP 的組成以 NodePort 為主。
Monitoring (監控):透過折線圖顯示
GPU
、CPU
、Memory
、硬碟讀取/寫入
、網路輸出/輸入
的使用率。Service Parameter (服務參數):此頁面統整呈現建立此容器服務時所設定的參數。參數內容依解決方案而不同,以下僅示意大概呈現的內容。
Billing (帳單):此畫面顯示該容器所使用資源的費用,依建立容器服務時所選擇的
平台 (Platform)
與規格 (Flavor)
不同,最後顯示的收費價錢也不同。平台收費設定參考 平台管理 (Platform Management)。
#
容器任務 (Container Job)容器任務主要由四大特色組成,包含 工作任務 (Job)、管線 (Pipeline)、範本 (Template) 與 排程器 (Scheduler)。如下圖,當中一個 Pipeline 可由多個 Stage (階段) 組成,一個 Stage 內可以有多個 Job,而在一個 Stage 內的 Job 為平行處理,也就是會同時執行,當一個 Stage 內的 Job 均成功運行完畢後,才會執行下一個 Stage。將這些 Job 與 Stage 設定完畢後,即可組成一個 Pipeline。
請注意,若 Stage 內任何一個 Job 沒有成功執行完畢,則下一個 Stage 不會被執行,因為預期每個 Stage 是有相依性的,若前面執行失敗,後面也會失敗,因此系統將自動停止運行 Pipeline,避免運算資源浪費。
使用者創建 Pipeline 後,直接透過 Save as Template
的動作,將此 Pipeline 的設定儲存為範本 (Template),以便之後可以重複運行。使用者也可以創建排程器 (Scheduler),透過排程器來驅動範本,自動化創建 Pipeline,也可以不透過排程器,直接手動透過範本創建 Pipeline,如下圖。
以下將分別說明以系統管理員的角色,可以在容器任務相關的四個模組,所能夠瀏覽與控制的內容。
#
工作 (Jobs)此頁面可以看到所有的 工作 (Jobs)
,包含從 管線(Pipeline)
執行時所產生的 Jobs。
欄位說明:由於 Job 列表相關欄位較多,以下分別說明各欄位內容:
- Job ID:由於 Job 的名稱可以重複,因此用 Job ID 作為唯一的識別。
- 狀態 (Status):Job 的狀態,說明如下:
- Pending:還沒開始執行。
- Queueing:準備執行,但是沒有資源可以執行。
- Running:執行中。
- Failed:執行完畢,結果為執行失敗。
- Succeeded:執行完畢,結果為執行成功。
- Cancelled:使用者點擊
Stop
取消執行,或是 Pipeline 執行過程中有 Fail 的 Job,以至於後續 Stage 被取消執行。
- 名稱 (Name):此 Job 的名稱。
- 管線 (Pipeline):若此 Job 是由 Pipeline 啟動,則會顯示 Pipeline 名稱,反之則顯示 n/a。
- 階段 (Stage):若此 Job 是由 Pipeline 啟動,則會顯示此 Job 所在的 Stage 名稱,反之則顯示 n/a。
- Duration:顯示此 Job 實際運行的時長。
- Complete:顯示此 Job 已完成多久時間。
- Tags:若創建 Job 時有設定 Tag,則會顯示所有的 Tag 標籤。
- 使用者 (User):顯示此 Job 是由誰創建,若是由 Pipeline 自動建立,則會與 Pipeline 的使用者相同。
- Log:可查看此 Job 的日誌。
操作:Job 在不同的狀態下,點擊
動作 (Action)
可以執行以可以進行不同操作,以下將逐一說明:- 停止 (Stop): 停止正在進行中的 Job,僅狀態為
Running
與Queuing
的 Job 可進行此動作。 - 重試 (Retry): 會自動建立一個同樣的 Job,並重新執行一次,任何狀態下的 Job 均可執行此動作,但透過 Pipeline 所執行的 Job 則無法進行此動作。
- 複製 (Duplicate): 複製一個 Job,不同於 Retry ,使用 Duplicate 會跳出編輯表單,且透過 Pipeline 所建立的 Job 也可複製,預設會填入原先的參數設定,可以調整參數設定後再次建立 Job。請注意,若原先在
指令類型 (Command Type)
選擇Shell Script
,在複製的編輯表單內,將會自動轉為Command & Argument
類型,並在 Command 欄位自動填入["/bin/sh","-c"]
,這是正常設定,使用者只需要依據需求修改 Argument 內容即可。 - 另存範本 (Save As Template): 將 Job 存成 Template,儲存後會自動跳至 Templates 頁面,並命名為
saved-from-<jobname>
,管理者可透過 Template 編輯修改名稱。 - 刪除 (Delete): 刪除 Job,會跳出確認刪除視窗 (顯示 ID 和 Name),但透過 Pipeline 執行的 Job 無法在這裡被刪除,請至 Pipeline 頁面刪除該 Pipeline 後,相關的 Jobs 將一應刪除。
- 停止 (Stop): 停止正在進行中的 Job,僅狀態為
詳細資訊 : 點擊
Job ID
,可以查看各別 Job 的詳細資訊,包含Job 資訊(Job Info)
與帳單(Billing)
,詳述如下:Job 資訊(Job Info):顯示狀態、建立 Job 的參數設定,包含儲存掛載資訊等。若該 Job 是從 Pipeline 生成的,會在 Pipeline Name, ID 與 Stage 等顯示對應的資訊,若是透過 Template 生成的,也會在 Template ID、Template 等顯示相應資訊。
帳單 (Billing): 根據 Platform 與 Flavor,顯示預期收費價格。Platform 收費設定參考 Platform Management。
進階搜尋:表格右上角有進階搜尋功能,點擊齒輪圖示,可以選擇要搜尋的欄位,並選擇或填入數值。可點選
+ Add More
加入更多條件,右邊的垃圾桶圖示則可以刪除條件。若要進行精確搜尋,可搭配選擇要使用And
(交集) 或Or
(聯集),甚至點選+ Add Group
即可在目前的條件外面加上大括號,代表先後關係,括號內會先執行。
#
管線 (Pipelines)查看目前有的 Pipeline 紀錄,Pipeline 為一次性的執行一連串的工作,可以設定多個階段 (Stage),每個階段分別執行哪些工作 (Job),並可以將其存為範本。
欄位說明:由於 Pipeline 列表相關欄位較多,以下分別說明各欄位內容:
- Pipeline ID:由於 Pipeline 的名稱可以重複,因此用 Pipeline ID 作為唯一的識別。
- 狀態 (Status):Pipeline 的狀態,說明如下:
- Pending:尚未開始執行,可能是正要執行的 Job 正在 Queuing,因此該 Pipeline 在等待資源當中。
- Running:執行中。
- Finished:Pipeline 中所有的 Stages 皆執行完畢。請注意,執行完畢並不代表全部執行成功,執行狀態可參照
Stage
欄位確認。 - Cancelled:使用者點擊
Stop
取消執行 Pipeline。
- 名稱 (Name):顯示此 Pipeline 的名稱。
- Template:若該 Pipeline 是透過 Template 執行,則會顯示 Template 名稱,反之顯示 n/a。
- Duration:顯示此 Pipeline 實際運行的時長。
- Complete:顯示此 Pipeline 已完成多久時間。
- Tag:若創建 Pipeline 時有設定 Tag,則會顯示所有的 Tag 標籤。
- 使用者 (User):顯示此 Pipeline 是由誰創建,若是由排程器 (Scheduler) 自動建立,則會與該 Scheduler 的使用者相同。
操作:Pipeline 在不同的狀態下,點擊
動作 (Action)
可以進行不同操作,以下將逐一說明:- 停止 (Stop):停止還未執行或正在執行中的 Pipeline。
- 重試 (Retry):會自動建立一個同樣的 Pipeline,並且開始執行。
- 複製 (Duplicate):複製一個 Pipeline,此選項會跳出編輯表單,預設會填入原先的參數設定,可以修改參數設定,再次建立 Pipeline。
- 另存範本 (Save As Template):將 Pipeline 存成 Template,會跳至
建立範本 (Create Template)
表單,預設會填入原先的參數設定,可以再次修改資料,點擊確認 (Confirm)
會自動跳至 Templates 頁面,並建立一個新的範本。 - 刪除 (Delete):刪除 Pipeline,會跳出確認刪除視窗 (顯示 ID 和 Name)。
詳細資訊:點擊
Pipeline ID
,可以查看各別 Pipeline 的詳細資訊,包含 Pipeline 的執行狀態,以及詳細資訊等,如下:Pipeline Graph:顯示 Stage 和 Job 的關係圖,可從這個圖內檢視目前 Pipeline 的執行狀態。
Pipeline Info:顯示此 Pipeline 創建時的資訊,下方表格可檢視目前此 Pipeline 的 Stage 狀態,可展開 Stage 並點擊 Job,即可查看各 Job 的設定內容。
表格右上角有進階搜尋功能,點擊齒輪圖示 (可參考 Job 對於進階搜尋功能的說明)。
#
範本 (Template)範本 (Templates)
用於執行一連串工作的範本,用於產生 Pipeline,或是串接排程器 (Scheduler) 以定時自動建立 Pipeline 使用。
操作:點擊
動作 (Action)
可以執行以下操作:立刻執行管線 (Run Pipeline Immediately):使用此 Template 執行一個 Pipeline,點擊後,會自動跳至 Pipeline 頁面。
執行管線 (Run Pipeline):與
Run Pipeline Immediately
不同的是會跳出表單,可以修改原本 Pipeline 相關設定,並點擊Submit
執行一個 Pipeline。編輯 (Edit):編輯現有的 Template,預設會填入原先的參數設定。
複製 (Duplicate):複製並新建立一個 Template,預設會填入原先的參數設定。
刪除 (Delete):刪除 Template,會跳出確認刪除視窗。
詳細資訊:點擊
Template ID
,可以查看各別 Template 的詳細資訊,包含Template Info
與Scheduler
資訊,詳述如下:Template Info:查看當初建立 Template 的參數設定,可點擊 Stage 的表格,查看各個 Stage 內 Job 的設定參數。
Scheduler:若有 Scheduler 使用此 Template,會在此顯示各個 Scheduler 的啟用狀態,以及預計下次執行的時間。
#
排程器 (Scheduler)排程器 (Scheduler)
需要搭配 範本 (Template)
來自動執行 Pipeline,一個 Scheduler 只能綁定一個 Template,而 Template 可以與多個 Scheduler 綁定。
欄位說明:查看與編輯排程器,詳細說明如下:
- Scheduler ID:Scheduler 沒有提供名稱,由 ID 作為唯一識別。
- 啟用 (Enable):顯示排程器是否啟動,或已停止。
- Next Run Time: 顯示下次執行新一筆 Pipeline 的時間。
- Last Pipeline: 顯示上一次執行的 Pipeline ID 及狀態。
- 範本 (Template):顯示此 Scheduler 綁定的 Template 名稱。
- 設定 (Setting): 顯示設定的執行頻率 (以 crontab 格式顯示)。
- 使用者 (User): 排程器的建立者。
操作:點擊
動作 (Action)
可以編輯或刪除 Scheduler。詳細資訊:點擊
Scheduler ID
,可以查看各別 Scheduler 的詳細資訊,基本上與列表顯示的內容相同,多了環境(env) 資訊,表示透過此 Scheduler 所建立的 Pipeline 可用的環境變數。