JupyterHub为一个提供可多人撰写的notebook的工具, 属於撰写notebook工具中的其中一个分支.
本次所安装的JupyterHub版本为jupyterhub for kubernetes
, 这个版本是以kubernets为基础然後将JupyterHub安装在K8s之上, 一来容易安装, 二来也可以善用K8s的特性.
其官网的网址在这里:
https://zero-to-jupyterhub.readthedocs.io/en/latest/
在安装JupyterHub之前, 已先安装好NFS Server做为分享的储存空间, 这个空间在安装JupyterHub时会使用到, 资讯如下:
接下来我们就开始安装JupyterHub
在每一个
K8s node上安装nfs-client
$sudo apt install nfs-common
安装nfs provisioner
这是要建立K8s的Storage Class, 之後建立pvc时可以让K8s知道可以指定storage class名称来创建所需的储存空间
在Master node上执行下列指令
$ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
$ helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=172.23.180.15 \
--set nfs.path=/mnt/Data/k8snfsshare
执行完成之後, 所产生的storage class名称为nfs-client
然後还要将所产生的storage class设定为default storage class
kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
storage class安装与设定好了之後, 可以使用kubectl get sc
看一下内容
k8s@k8s-master:~$ kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
nfs-client (default) cluster.local/nfs-subdir-external-provisioner Delete Immediate true 23d
安装helm
因为安装Jupyterhub是以heml进行安装, 所以就来安装一下
在Master node上执行下列指令
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh
安装 jupytorHub
先加入helm repo
$helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
$helm repo update
产生security token
这个token等一下会加在config.yaml参数档中.
$openssl rand -hex 32
例如产生出来的token字串为
a1280b641f26b1cb683b5dab77ced6b74e8fe484625bce4f4529f4e43fc3ab6b
编辑 config.yaml
用你喜欢的文字编辑器, 我是使用vim
$vim config.yaml
这个档案是jupyterhub的参数档, 内容如下
proxy:
secretToken: "a1280b641f26b1cb683b5dab77ced6b74e8fe484625bce4f4529f4e43fc3ab6b"
service:
type: NodePort
singleuser:
storage:
dynamic:
storageClass: nfs-client
hub:
config:
Authenticator:
admin_users:
- amdin
service:
type: NodePort
cull:
enabled: false
然後执行下列指令进行安装
helm upgrade --cleanup-on-fail \
--install myjhub jupyterhub/jupyterhub \
--namespace jhub \
--create-namespace \
--version=1.1.2 \
--values config.yaml
其中
开启Jupyterhub首页
安装完成之後, 输入下列指令确认所对应出来的nodeport是多少
$kubectl get svc -n jhub
如下图, nodeport是32109
在网址列输入 http://172.23.180.10:32109 , 可以看到Jupyterhub首页
到这里我们已安装好JupyterHub.
https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
https://zero-to-jupyterhub.readthedocs.io/en/latest/
https://jupyterhub.github.io/helm-chart/
<<: Day 3:747. Largest Number At Least Twice of Others
今天要介绍netmask,是可以让我们自由转换各种不同表示类型的网路地址以及子网遮罩,在划分子网路的...
前面我们自己写了登入登出及注册,但其实laravel有提供我们身份验证的套件,这些工具包会自动提供我...
客制化, Customization 在 NetSuite 内提到 客制化 通常表示的是, 流程变更...
前篇回顾 sed - 简介 读取编辑文字档的好工具 sed - 2 Pattern sed - 3 ...
点击进入React源码调试仓库。 当render阶段完成後,意味着在内存中构建的workInProg...