我想在JuPyter-hub上部署我自己的镜像。但是,我需要将其部署到某些注册表中,以便JHub的image puller可以将其从此处拉出。就我而言,注册表是私有(private)的。尽管我可以将镜像推送到注册表,但是我不知道如何使jupyterhub发布和部署能够提取镜像。

我尝试阅读此文档(https://github.com/jupyterhub/jupyterhub-deploy-docker),但它无法帮助我理解如何在jupyter hub部署中添加身份验证。

我使用以下命令部署jhub:

#  Suggested values: advanced users of Kubernetes and Helm should feel
# free to use different values.
RELEASE=jhub
NAMESPACE=jhub

helm upgrade --install $RELEASE jupyterhub/jupyterhub \
  --namespace $NAMESPACE  \
  --version=0.8.0 \
  --values jupyter-hub-config.yaml

jupyter-hub-config.yaml如下所示:
proxy:
  secretToken: "abcd"
singleuser:
  image:
    name: jupyter/datascience-notebook
    tag: some_tag
  lifecycleHooks:
    postStart:
      exec:
        command: ["/bin/sh", "-c", 'ipython profile create; cd ~/.ipython/profile_default/startup; echo ''run_id = "sample" ''> aviral.py']

Helm chart 在这里可用:https://jupyterhub.github.io/helm-chart/jupyterhub-0.8.2.tgz

这个 Helm chart 的树是:
.
├── Chart.yaml
├── jupyter-hub-config.yaml
├── requirements.lock
├── schema.yaml
├── templates
│   ├── NOTES.txt
│   ├── _helpers.tpl
│   ├── hub
│   │   ├── configmap.yaml
│   │   ├── deployment.yaml
│   │   ├── image-credentials-secret.yaml
│   │   ├── netpol.yaml
│   │   ├── pdb.yaml
│   │   ├── pvc.yaml
│   │   ├── rbac.yaml
│   │   ├── secret.yaml
│   │   └── service.yaml
│   ├── image-puller
│   │   ├── _daemonset-helper.yaml
│   │   ├── daemonset.yaml
│   │   ├── job.yaml
│   │   └── rbac.yaml
│   ├── ingress.yaml
│   ├── proxy
│   │   ├── autohttps
│   │   │   ├── _README.txt
│   │   │   ├── configmap-nginx.yaml
│   │   │   ├── deployment.yaml
│   │   │   ├── ingress-internal.yaml
│   │   │   ├── rbac.yaml
│   │   │   └── service.yaml
│   │   ├── deployment.yaml
│   │   ├── netpol.yaml
│   │   ├── pdb.yaml
│   │   ├── secret.yaml
│   │   └── service.yaml
│   ├── scheduling
│   │   ├── _scheduling-helpers.tpl
│   │   ├── priorityclass.yaml
│   │   ├── user-placeholder
│   │   │   ├── pdb.yaml
│   │   │   ├── priorityclass.yaml
│   │   │   └── statefulset.yaml
│   │   └── user-scheduler
│   │       ├── _helpers.tpl
│   │       ├── configmap.yaml
│   │       ├── deployment.yaml
│   │       ├── pdb.yaml
│   │       └── rbac.yaml
│   └── singleuser
│       ├── image-credentials-secret.yaml
│       └── netpol.yaml
├── test-99.py
├── validate.py
└── values.yaml

我要做的就是让jupyterhub使用secrets访问我的私有(private)仓库。在这种情况下,我不知道如何使它可用。

最佳答案

Image pull secret可用于从私有(private)注册表中提取图像。

在jupyter-hub-config.yam后面加上以下blob。

imagePullSecret:
    enabled: true
    registry:
    username:
    email:
    password:

拥有值(value)

用户名:AWS

密码:aws ecr get-login --region ${REGION} --registry-ids ${ACCOUNT} | cut -d' ' -f6

08-28 03:09