k8s和helm安装jupyterhub

Posted 仲夏冬蕴 Mm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

以上是关于k8s和helm安装jupyterhub的主要内容,如果未能解决你的问题,请参考以下文章

当AI遇上K8S:使用Rancher安装机器学习必备工具JupyterHub

JupyterHub on Kubernetes部署

jupyterhub配置安装教程

k8s中helm安装部署,升级和回滚(chart,helm,tiller,StorageClass)

k8s Helm安装Prometheus Operator

十六. k8s--helm安装与使用