我想在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