k8s和helm安装jupyterhub
参考jupyterhub官网给的安装教程Zero to JupyterHub for Kubernetes
下载docker
从docker官网下载docker desktop的安装包,并安装。
安装Kubernetes
在docker dashboard上点击设置按钮,选择Kubernetes,勾选Enable Kubernetes,等待下载完成之后Apply & Restart重启。
安装helm
mac下运行brew install helm即可。
有可能需要修改国内镜像源,如切换清华源:
$ cd "$(brew --repo)"
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
$ brew update
安装JupyterHub
# 添加chart
$ helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
$ helm repo update
# 生成一个随机字符串作为JupyterHub的安全Token
$ openssl rand -hex 32
# 新建一个config.yaml文件,如下配置:
$ vim config.yaml
# 默认打开jupyterlab
singleuser:
defaultUrl: "/lab"
hub:
extraConfig:
myConfig.py: |
c.Spawner.cmd = ['jupyter-labhub']
proxy:
secretToken: "0d7db40535787b779bceb04806235978c5e1c28cbcb240cda9adf8820af8bb40" # 这里写刚刚生成的Token
# 创建并编辑helm install脚本,如下内容:
$ vim helm-install-jupyterhub.sh
RELEASE=jhub
NAMESPACE=jhub
helm upgrade --cleanup-on-fail \
--install $RELEASE jupyterhub/jupyterhub \
--namespace $NAMESPACE \
--create-namespace \
--version=1.1.3 \
--values config.yaml \
--timeout 600s
# 运行安装jupyterhub
$ chmod +x helm-install-jupyterhub.sh
$ ./helm-install-jupyterhub.sh
按理来说,但现在就算安装完成了,但是在最后一步安装的时候由于网络墙的原因会出现拉取镜像失败。
kubectl get pod -n jhub。查看pod命名空间下的所有容器,会发现有容器的STATUS为ErrImagePull。
kubectl describe pod hook-image-puller-8wrxh -n jhub。这个时候我们就要去看这个容器在拉取哪个镜像的时候出错了。
发现是k8s.gcr.io/pause:3.5,打开科学的上网方法,docker pull k8s.gcr.io/pause:3.5。
重新运行安装脚本./helm-install-jupyterhub.sh。
kubectl get pod -n jhub。查看pod命名空间下的所有容器,会发现有容器的STATUS为ImagePullBackoff。
kubectl describe pod user-scheduler-78d486d6fb-ksdzm -n jhub。同样去看这个容器在拉取哪个镜像的时候出错了。
发现是k8s.gcr.io/kube-scheduler:v1.19.13,打开科学的上网方法,docker pull k8s.gcr.io/kube-scheduler:v1.19.13。
然后再次运行kubectl get pod -n jhub,发现容器都运行正常。
kubectl get svc -n jhub,查看jhub命名空间下的所有服务,
kubectl edit service proxy-public -n jhub,修改proxy-public的type为NodePort。
浏览器打开http://localhost:31832
由于是用的dummyAuth,所以用户名密码可以随便输入。
作者:仲夏冬蕴Mm —— 江萌萌
出处:http://www.cnblogs.com/jiangliuyang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。