跳至主要內容

開啟 JupyterLab

開啟按鈕​

部署一個啟動模式為 jupyter 的範本,等執行個體進入 running,然後從 執行個體 開啟它。連線 頁籤上有一個 開啟 JupyterLab 按鈕。它會在新分頁中直接把你帶進一個已通過驗證的工作階段。

這個按鈕是官方支援的進入方式。不要自己拼出網址,也不要依賴書籤:執行個體發布所在的主機與連接埠可能在停止再啟動後改變,屆時書籤就指向不存在的東西。

如果按鈕不見了,檢查你部署的範本的啟動模式。只有 jupyter 會啟動 notebook 伺服器。ssh 模式的執行個體給你的是一個 shell,不是 notebook。請見啟動模式。

按鈕開啟的網址​

按鈕開啟哪個網址,取決於這台主機能不能從外部直接連上:

路徑網址什麼時候用憑證
直連https://<IP>:<連接埠>/lab?token=…主機上發布的連接埠可以從外部直接連上容器自己產生的憑證,瀏覽器會警告(請見憑證警告)
中繼https://<工作負載 ID>-<Jupyter 連接埠>.relay.superheat.cloud/lab?token=…(預設 8080)主機位於 NAT 之後,外部無法直接連上正式簽發的憑證,瀏覽器不會警告

執行個體進入 running 時,平台會檢測一次這台主機能否從外部直接連上。連得上,按鈕就用直連網址;連不上,按鈕就改走中繼。中繼要等 Superheat CN 啟用 superheat.cloud 網域之後才會開啟;在那之前,按鈕開啟的一律是直連網址。

兩條路徑進入的是同一個 JupyterLab,用的是同一個權杖。SSH 不走中繼,一律直連。請見透過 SSH 連線。

關於權杖​

存取權杖由平台在部署執行個體時簽發,並往下傳給容器,容器再以該權杖作為唯一憑證啟動 JupyterLab。你無法自行選擇它。你的組織讀得到它:執行個體的 連線 分頁會在 存取權杖 底下顯示它,API 則以 access_token 回傳。範本其他應用程式連接埠要求的也是同一個權杖 —— 請參閱執行個體存取權杖。

由此可以得出兩件事:

  • 從主控台開啟 JupyterLab。按鈕會替你帶上權杖,你不必自己拼出網址。請像對待密碼一樣對待這個權杖和按鈕的連結。
  • 自己在環境中設定 JUPYTER_TOKEN 沒有任何作用。平台的環境變數覆寫一律優先於承租者提供的值,所以你填的內容會被蓋掉。GPU_COUNT 也是一樣。請見環境變數。

你的檔案在哪裡​

JupyterLab 的根目錄是 JUPYTER_DIR,預設為 /workspace。檔案瀏覽器無法瀏覽到該目錄之上,所以任何你想在側邊欄看到的東西都要放在它底下。

設定預設值來源
JUPYTER_DIR/workspace範本的 jupyter_dir 欄位
JUPYTER_PORT8080jupyter 模式所發布的容器連接埠
JUPYTER_LABtrue (Lab)範本的 use_jupyter_lab 欄位;false 會提供傳統版 notebook

/workspace 位於你在部署時決定容量的那顆硬碟上,所以它會在停止再啟動後留存,並在銷毀時被刪除。寫在容器其他位置的檔案也在同一顆硬碟上,命運相同 — 這個目錄只是慣例,不是獨立的磁碟區。

分頁在伺服器就緒之前就打開了​

執行個體一回報 running,開啟 JupyterLab 按鈕就會出現。notebook 伺服器要在那之後片刻才綁定它的連接埠,所以太早點下去可能會落在瀏覽器錯誤上 — 連線遭拒,或是一個永遠載不完的頁面。

等幾秒鐘再重新整理分頁。基礎映像檔會先啟動 JupyterLab,再執行範本的 onstart 指令碼,所以拖住 notebook 伺服器的並不是冗長的 onstart。如果重新整理仍然失敗,透過 SSH 讀取伺服器自己的日誌:

tail -f /var/log/superheat/jupyter.log

憑證警告​

這一節只適用於直連網址。直連時,JupyterLab 以 HTTPS 提供服務,用的是容器自己產生的憑證,所以你的瀏覽器會警告它無法驗證這個網站。在全新的執行個體上,這個警告是預期中的。加密本身正常運作;只有身分無法驗證,因為不會有任何公開憑證機構,替一台幾分鐘前才誕生的機器簽發憑證。

中繼網址用的是為 *.relay.superheat.cloud 正式簽發的憑證,瀏覽器不會警告。

相關內容​