建構、測試及執行工作負載時,監控進度有助於偵錯。您可以使用下列工具監控及偵錯:
Cloud Logging:如要排解 Confidential Space 工作負載的疑難,第一步是將
STDOUT
和STDERR
重新導向至 Cloud Logging,然後檢查工作負載回傳代碼,找出發生失敗的位置。偵錯 Confidential Space 映像檔:偵錯 Confidential Space 映像檔會在工作負載完成後,讓執行工作負載的 Confidential VM 保持運作,並執行 SSH 伺服器。方便您遠端登入 VM,診斷問題。在確定程式碼運作正常前,建議使用偵錯映像檔。開始處理機密製作資料時,請切換至製作專用的 Confidential Space 映像檔。
記憶體用量監控:您可以在 Cloud Logging 或 Metrics Explorer 中查看工作負載的記憶體用量。工作負載作者必須允許,且工作負載運算子必須啟用,系統才會追蹤記憶體用量。
互動式殼層:使用 SSH 連線至工作負載機密 VM 後,即可使用
sudo ctr task exec -t --exec-id shell tee-container bash
指令進入容器內的互動式殼層,診斷工作負載問題。
記錄
與任何指令列程式一樣,工作負載 STDOUT
和 STDERR
可以顯示在控制台中。工作負載運算子也可以在 Confidential Space VM 上將 tee-container-log-redirect
中繼資料鍵設為 true
或 cloud_logging
,並確保執行工作負載的服務帳戶具有 logging.logWriter
角色,將記錄重新導向至 Cloud Logging。
工作負載作者可以使用log_redirect
啟動政策,防止重新導向。
為降低風險,請記錄最少量的資訊,且不要記錄機密資訊。
查看 Confidential Space 記錄
如果附加至機密空間 VM 的服務帳戶已獲授 logging.logWriter
角色,且您已將記錄重新導向至 Cloud Logging,即可查看 VM 的記錄來排解錯誤:
前往Google Cloud 控制台中,工作負載運算子專案的「Logging」頁面。
按一下「查詢」分頁旁邊的時間範圍,設定要查看的記錄時間範圍。
如有下列記錄欄位,請依這些欄位篩選記錄:
資源類型:VM 執行個體
執行個體 ID:機密 VM 的執行個體 ID
記錄檔名稱:confidential-space-launcher
請詳閱失敗訊息,找出問題所在。資源可能未正確設定、資料協作者 WIP 供應商的屬性條件可能與 Confidential Space 工作負載提出的聲明不符,或是工作負載本身發生錯誤。
回傳代碼
執行 launcher 和工作負載時,控制台會顯示回傳代碼,並可重新導向至 Cloud Logging。
下表說明回傳代碼:
程式碼 | 定義 | VM 停止行為 |
---|---|---|
0 | 使用正式版映像檔時,工作負載已順利完成。 | VM 會在工作負載完成後停止。 |
1 | 使用正式版映像檔時,工作負載或啟動器傳回錯誤。 | VM 傳回錯誤後就會停止。 |
3 | 啟動器因tee-restart-policy 而發生故障,因此已重新啟動。 |
VM 已重新啟動。 |
4 | 使用偵錯映像檔時,工作負載或啟動器已完成執行,VM 現在處於閒置狀態。 | 工作負載完成或傳回錯誤後,VM 不會停止運作。這樣您就能透過 SSH 偵錯工作負載。 |
如果工作負載失敗,工作負載運算子只會收到訊息 workload finished with a non-zero return code
,沒有其他背景資訊。如果是正式版映像檔,啟動器可以設為在失敗時重新啟動,方法是使用 tee-restart-policy=OnFailure
。