在 kubernetes 上部署 jupyter hub 时,如何解决 permanentvolumeclaims“hub-db-dir”被禁止错误?

Avi*_*ava 3 kubernetes jupyter jupyterhub kubectl kubernetes-helm

我想在 kubernetes 集群上部署 jupyter 笔记本。按照官方文档(https://zero-to-jupyterhub.readthedocs.io/en/latest/setup-jupyterhub.html),我运行了以下命令:

# 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.2 \
  --values jupyter-hub-config.yaml
Run Code Online (Sandbox Code Playgroud)

文档中提到的配置文件在哪里jupyter-hub-config.yaml,包含由命令生成的令牌openssl rand -hex 32

运行上述命令时,出现以下错误:

Error: release jhub failed: persistentvolumeclaims "hub-db-dir" is forbidden: Internal error occurred: 8 default StorageClasses were found
Run Code Online (Sandbox Code Playgroud)

我尝试研究各种安装方法,jhub但没有人能指出这种方法的任何差异,我会认为这里会导致错误。

该命令的o/pkubectl get storageclass是:

NAME                                     PROVISIONER             AGE
aviral-worker-volume (default)           kubernetes.io/aws-ebs   14d
default (default)                        kubernetes.io/aws-ebs   14d
es-ebs-storage (default)                 kubernetes.io/aws-ebs   7d
gp2 (default)                            kubernetes.io/aws-ebs   14d
prometheus-monitoring-volume (default)   kubernetes.io/aws-ebs   8d
replicated (default)                     kubernetes.io/aws-ebs   14d
replicated-premkit (default)             kubernetes.io/aws-ebs   14d
replicated-statsd (default)              kubernetes.io/aws-ebs   14d
Run Code Online (Sandbox Code Playgroud)

Vas*_*pov 8

您的集群中有 8 个默认存储类别,这绝对不正常。您应该确保只有一种默认存储类别。

我不知道哪一个应该是默认的,这完全取决于你的集群,我不想对这个决定负责。但对于除默认存储类别之外的所有存储类别,您需要执行以下操作:

kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
Run Code Online (Sandbox Code Playgroud)