溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Jupyter Notebook有什么用

發(fā)布時(shí)間:2021-11-16 10:57:21 來源:億速云 閱讀:846 作者:小新 欄目:云計(jì)算

這篇文章主要介紹Jupyter Notebook有什么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

什么是JupyterHub?

Jupyter Notebook是用于科學(xué)數(shù)據(jù)分析的利器,JupyterHub可以在服務(wù)器環(huán)境下為多個(gè)用戶托管Jupyter運(yùn)行環(huán)境。JupyterHub是一個(gè)多用戶數(shù)據(jù)探索工具,通常是數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)研究與開發(fā)的關(guān)鍵工具。它為工程師、科學(xué)家、研究人員和學(xué)生提供了云或數(shù)據(jù)中心的計(jì)算能力,同時(shí)仍然像本地開發(fā)環(huán)境一樣易于使用。本質(zhì)上,JupyterHub使用戶可以訪問計(jì)算環(huán)境和資源,而不會(huì)給他們?cè)黾影惭b和維護(hù)任務(wù)的負(fù)擔(dān)。用戶可以在工作區(qū)中使用共享資源,系統(tǒng)管理員會(huì)對(duì)其進(jìn)行有效管理。

在AI/ML工作負(fù)載中使用Kubernetes

Kubernetes非常擅長(zhǎng)讓我們利用大型分布式計(jì)算環(huán)境。因?yàn)槠渎暶魇皆O(shè)計(jì)和基于發(fā)現(xiàn)的服務(wù)器尋址方法,所以將計(jì)算資源應(yīng)用于工作負(fù)載很容易。通常在AI/ML工作負(fù)載中,工程師或研究人員需要分配更多的資源。而Kubernetes讓在物理基礎(chǔ)架構(gòu)之間遷移工作負(fù)載更加可行。在本文中,我們將展示如何使用Rancher安裝JupyterHub。

使用Rancher安裝JupyterHub

首先,假設(shè)我們?cè)赗ancher環(huán)境中擁有現(xiàn)代化的Kubernetes部署。在本文發(fā)布時(shí),Kubernetes的穩(wěn)定版本是1.16。對(duì)于JupyterHub來說,其中一個(gè)前期準(zhǔn)備是持久化存儲(chǔ),所以你將需要思考如何在這個(gè)集群中提供它。出于演示的目的,我們可以使用Rancher Catalog中包含的實(shí)驗(yàn)性NFS提供程序來提供持久化存儲(chǔ)。點(diǎn)開App Catalog并選擇【啟動(dòng)】。然后搜索NFS提供程序。保留默認(rèn)設(shè)置,然后單擊屏幕底部的【啟動(dòng)】。如果你已經(jīng)有持久化存儲(chǔ)的解決方案,也可以直接使用它。

Jupyter Notebook有什么用

導(dǎo)航到Rancher App Catalog

Jupyter Notebook有什么用

搜索NFS提供程序

Jupyter Notebook有什么用

啟動(dòng)NFS提供程序

現(xiàn)在我們已經(jīng)有了存儲(chǔ)提供程序并且定義了默認(rèn)存儲(chǔ)類,我們可以繼續(xù)部署應(yīng)用程序組件。我們將使用Helm3來完成這一操作。查看helm官方文檔(https://helm.sh/docs/intro/install/ ),在你的電腦上安裝helm3客戶端。另外,你也可以使用Rancher Catalog來部署helm chart,而無需任何其他工具。需要確保將repo添加到Rancher catalog中。

在我們使用helm之前,我們需要為應(yīng)用程序創(chuàng)建一個(gè)命名空間。在Rancher UI中,進(jìn)入集群并選擇頂端菜單欄的【項(xiàng)目/命名空間】。你可以為JupyterHub創(chuàng)建一個(gè)新的命名空間。例如,我們將命名空間稱為“jhub“。請(qǐng)注意此名稱,因?yàn)槲覀儗⒅髸?huì)使用。

Jupyter Notebook有什么用

創(chuàng)建一個(gè)命名空間

接下來,我們可以為將要使用的JupyterHub Chart添加Helm repo。如果使用的是Rancher catalog,你需要在UI上完成此操作而不是Helm CLI:

helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
helm repo update

然后,讓我們創(chuàng)建一個(gè)config文件,其中包含了我們要與此chart一起使用的設(shè)置。我們將該文件命名為config.yaml:

proxy:
  secretToken: "<secret token>"
ingress:
  enabled: true
  hosts:
    - <host name>

讓我們替換幾個(gè)項(xiàng)目,使它們是唯一的。用以下輸出替換secretToken:

openssl rand -hex 32

并替換為你打算用來訪問JyupiterHub UI的可解析DNS名稱。

有了配置文件之后,就可以安裝chart了。我們將引用該配置文件,因此請(qǐng)確保該文件存在你當(dāng)前的工作目錄中:

RELEASE=jhub
NAMESPACE=jhub
helm upgrade --install $RELEASE jupyterhub/jupyterhub   --namespace $NAMESPACE    --version=0.8.2   --values config.yaml

Helm現(xiàn)在應(yīng)該部署所需的組件。這將需要一些時(shí)間,但是最終你應(yīng)該能夠通過之前設(shè)置的主機(jī)名訪問UI。你也可以通過轉(zhuǎn)到Rancher UI中的“工作負(fù)載“選項(xiàng)卡來檢查狀態(tài)。當(dāng)我們嘗試在瀏覽器中設(shè)置的主機(jī)名時(shí),它將顯示以下登錄界面:

Jupyter Notebook有什么用

主機(jī)名登錄界面

在撰寫本文時(shí),有一個(gè)issue是Kubernetes 1.16中的更改導(dǎo)致Jyupiter Hub的代碼在嘗試與Kuberentes API交互時(shí)中斷。如果要立即修復(fù),我們可以運(yùn)行以下patch命令:

kubectl patch deploy -n $NAMESPACE hub --type json --patch '[{"op": "replace", "path": "/spec/template/spec/containers/0/command", "value": ["bash", "-c", "\nmkdir -p ~/hotfix\ncp -r /usr/local/lib/python3.6/dist-packages/kubespawner ~/hotfix\nls -R ~/hotfix\npatch ~/hotfix/kubespawner/spawner.py << EOT\n72c72\n<             key=lambda x: x.last_timestamp,\n---\n>             key=lambda x: x.last_timestamp and x.last_timestamp.timestamp() or 0.,\nEOT\n\nPYTHONPATH=$HOME/hotfix jupyterhub --config /srv/jupyterhub_config.py --upgrade-db\n"]}]'

你現(xiàn)在已經(jīng)在Rancher上部署了可以正常工作的JupyterHub環(huán)境。默認(rèn)情況下,JupyterHub使用PAM身份驗(yàn)證。因此,可以使用系統(tǒng)上的任何有效Linux用戶登錄。登錄后,我們應(yīng)該能夠創(chuàng)建新的notebook:

Jupyter Notebook有什么用

Jupyter登錄界面

Jupyter Notebook有什么用

創(chuàng)建新的notebook

另外,你可以查看其他你可能想配置的身份驗(yàn)證選項(xiàng)。例如,你可以使用Github身份驗(yàn)證來允許用戶登錄并且創(chuàng)建基于他們Github ID的notebook。你選擇好一個(gè)身份驗(yàn)證的工具之后,需要按照說明更新我們之前創(chuàng)建的config.yml文件,然后重新運(yùn)行helm upgrade命令。

以上是“Jupyter Notebook有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI