首页 > 解决方案 > 在 google kubernetes 引擎上部署 jupyterhub 时如何使用我自己的 hub 映像?

问题描述

我正在尝试在 Google Kubernetes 引擎上部署 JupyterHub。我按照 Kubernetes教程从零到 JupyterHub
成功部署了它。 我的下一步是使用我自己的集线器映像部署 JupyterHub,但我不断收到错误消息(显然来自代理)。

因此,我在Docker Hub注册表上创建了一个存储库,并尝试修改我的 helm 配置文件,以便它会拉取图像(我使用了 helm Configuration Reference)。

我使用以下命令更新了部署:

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

结果,我收到一条“服务不可用”消息(所有 pod 都在运行)。

代理 pod 日志:

09:14:24.370 - info: [ConfigProxy] 添加路由/-> http://10.47.249.21:8081 09:14:24.380 - info: [ConfigProxy] 代理 http://0.0.0.0:8000http:// /10.47.249.21:8081
09:14:24.381 - 信息:[ConfigProxy] 代理 API 在http://0.0.0.0:8001/api/routes 09:16:01.434 - 错误:[ConfigProxy] 503 GET /hub/admin连接 ECONNREFUSED 10.47.249.21:8081 09:16:01.438 - 错误:[ConfigProxy] 无法获取自定义错误页面错误:
在 Object.exports._errnoException (util.js:1020:11)
处连接 ECONNREFUSED 10.47.249.21:8081 (util.js:1020:11) ._exceptionWithHostPort (util.js:1043:20)
在 TCPConnectWrap.afterConnect [as oncomplete] (net.js:1086:14)

集线器镜像 Dockerfile:

FROM jupyterhub/jupyterhub:0.9.6

USER root

COPY MZ_logo.jpg /usr/local/share/jupyter/hub/static/images/MZ-logo.jpg

USER ${NB_USER}

Helm config.yaml 文件:

proxy:
  secretToken: "<TOKEN>"

auth:
  admin:
    users:
      - admin1
      - admin2

  whitelist:
    users:
      - user1
      - user2

hub:
  imagePullPolicy: 'Always'

  imagePullSecret:
    enabled: true
    username: <DOCKER_HUB_USERNAME>
    password: <DOCKER_HUB_PASSWORD>

  image:
    name: <DOCKER_HUB_USERNAME>/<DOCKER_HUB_REPO>
    tag: latest

  extraConfig: |
    c.JupyterHub.logo_file = '/usr/local/share/jupyter/hub/static/images/MZ-logo.jpg'

标签: kubernetesgoogle-kubernetes-enginekubernetes-helmjupyterhub

解决方案


推荐阅读