在 kubernetes 上部署 jupyter hub 时如何解决 persistentvolumeclaims "hub-db-dir" is forbidden 错误?
How do I resolve persistentvolumeclaims "hub-db-dir" is forbidden error while deploying jupyter hub on kubernetes?
我想在 kubernetes 集群上部署 jupyter notebook。按照官方文档(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
其中 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
我尝试研究安装 jhub
的各种方法,但 none 可以指出这种方法的任何差异,我会考虑在此处导致错误。
命令kubectl get storageclass
的o/p是:
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
你的集群有8个默认存储classes,这肯定不正常。
您应该确保只有一个默认存储 class.
我不知道应该默认哪个,这完全取决于您的集群,我不想为该决定负责。但是对于除默认值之外的所有存储 classes,您需要这样做:
kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
我想在 kubernetes 集群上部署 jupyter notebook。按照官方文档(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
其中 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
我尝试研究安装 jhub
的各种方法,但 none 可以指出这种方法的任何差异,我会考虑在此处导致错误。
命令kubectl get storageclass
的o/p是:
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
你的集群有8个默认存储classes,这肯定不正常。 您应该确保只有一个默认存储 class.
我不知道应该默认哪个,这完全取决于您的集群,我不想为该决定负责。但是对于除默认值之外的所有存储 classes,您需要这样做:
kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'