終端機與指令
在控制台或 CLI 中進入執行中服務的容器,就像使用 kubectl exec 一樣。
終端機
開啟服務,再開啟概覽中的 終端機 卡片。你會在服務最新的實例中得到一個互動式 shell:映像檔中有 bash 就用 bash,否則用 sh。它的行為和本機終端機一樣:顏色、vim、top、less、Ctrl-C 和 Esc 都能傳到 shell,並且會跟隨視窗大小。
在 CLI 中:
sh
zenavo shell webCLI 的退出碼就是 shell 的退出碼,所以 zenavo shell web < script.sh 也可以在指令碼中使用。
- 每個終端機都是容器中一個新的 shell。儲存卷以外的修改會在服務重啟或重新部署時丟失。
- 終端機在 30 分鐘沒有輸入後關閉,無論如何最長 8 小時。每個帳號同時最多開啟 5 個。
- 沒有 shell 的映像檔(distroless、scratch)無法開啟終端機。
指令
指令 卡片用 sh -c 執行單條指令並顯示輸出,適合快速檢查和一次性任務,例如資料庫遷移。輸出最多 256 KB,已知的變數值會被遮蓋。在 CLI 中:zenavo service exec -s web -- ls -la。
誰可以使用
成員、管理員和擁有者。觀察者不能使用:shell 可以讀取服務的變數。開啟終端機和執行指令都會記錄在稽核日誌中,但不記錄輸入的內容:指令和按鍵中可能包含機密。終端機輸出不會被遮蓋。