- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
环境信息:
Computer detail: One master node and four slave nodes. All are CentOS Linux release 7.8.2003 (Core).
Kubernetes version: v1.18.0.
Zero to JupyterHub version: 0.9.0.
Helm version: v2.11.0
我最近尝试通过零到JupyterHub在新的实验室服务器中部署在线代码环境(例如Google Colab)。不幸的是,我未能为JupyterHub部署持久卷(PV),并且收到如下失败消息:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 4s (x27 over 35m) default-scheduler running "VolumeBinding" filter plugin for pod "hub-7b9cbbcf59-747jl": pod has unbound immediate PersistentVolumeClaims
我使用
tutorial of JupyterHub遵循安装过程,并使用Helm在k8s上安装JupyterHub。该配置文件如下:
config.yaml
proxy:
secretToken: "2fdeb3679d666277bdb1c93102a08f5b894774ba796e60af7957cb5677f40706"
singleuser:
storage:
dynamic:
storageClass: local-storage
在这里,我为JupyterHub配置了一个
local-storage
,该
local-storage
被观察为k8s:
Link。及其
yaml
文件
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
然后我使用
kubectl get storageclass
来检查它的工作,我得到以下消息:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
local-storage kubernetes.io/no-provisioner Delete WaitForFirstConsumer false 64m
所以,我以为我为JupyterHub部署了一个存储,但是我很幼稚。我对此感到非常失望,因为我的其他Pods(JupyterHub)都在运行。很久以来我一直在寻找一些解决方案,但也失败了。
hub-db-dir
也正在等待处理,这导致我的服务
proxy-public
正在等待处理。
hub-db-dir
的描述如下:
Name: hub-7b9cbbcf59-jv49z
Namespace: jhub
Priority: 0
Node: <none>
Labels: app=jupyterhub
component=hub
hub.jupyter.org/network-access-proxy-api=true
hub.jupyter.org/network-access-proxy-http=true
hub.jupyter.org/network-access-singleuser=true
pod-template-hash=7b9cbbcf59
release=jhub
Annotations: checksum/config-map: c20a64c7c9475201046ac620b057f0fa65ad6928744f7d265bc8705c959bce2e
checksum/secret: 1beaebb110d06103988476ec8a3117eee58d97e7dbc70c115c20048ea04e79a4
Status: Pending
IP:
IPs: <none>
Controlled By: ReplicaSet/hub-7b9cbbcf59
Containers:
hub:
Image: jupyterhub/k8s-hub:0.9.0
Port: 8081/TCP
Host Port: 0/TCP
Command:
jupyterhub
--config
/etc/jupyterhub/jupyterhub_config.py
--upgrade-db
Requests:
cpu: 200m
memory: 512Mi
Readiness: http-get http://:hub/hub/health delay=0s timeout=1s period=10s #success=1 #failure=3
Environment:
PYTHONUNBUFFERED: 1
HELM_RELEASE_NAME: jhub
POD_NAMESPACE: jhub (v1:metadata.namespace)
CONFIGPROXY_AUTH_TOKEN: <set to the key 'proxy.token' in secret 'hub-secret'> Optional: false
Mounts:
/etc/jupyterhub/config/ from config (rw)
/etc/jupyterhub/cull_idle_servers.py from config (rw,path="cull_idle_servers.py")
/etc/jupyterhub/jupyterhub_config.py from config (rw,path="jupyterhub_config.py")
/etc/jupyterhub/secret/ from secret (rw)
/etc/jupyterhub/z2jh.py from config (rw,path="z2jh.py")
/srv/jupyterhub from hub-db-dir (rw)
/var/run/secrets/kubernetes.io/serviceaccount from hub-token-vlgwz (ro)
Conditions:
Type Status
PodScheduled False
Volumes:
config:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: hub-config
Optional: false
secret:
Type: Secret (a volume populated by a Secret)
SecretName: hub-secret
Optional: false
hub-db-dir:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: hub-db-dir
ReadOnly: false
hub-token-vlgwz:
Type: Secret (a volume populated by a Secret)
SecretName: hub-token-vlgwz
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 61s (x43 over 56m) default-scheduler 0/5 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate, 4 node(s) didn't find available persistent volumes to bind.
带有
kubectl get pv,pvc,sc
的信息。
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/hub-db-dir Pending local-storage 162m
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
storageclass.storage.k8s.io/local-storage (default) kubernetes.io/no-provisioner Delete WaitForFirstConsumer false 8h
那么,如何解决呢?
最佳答案
除了@Arghya Sadhu答案之外,为了使其可以使用local storage起作用,还必须手动创建PersistentVolume
。
例如:
apiVersion: v1
kind: PersistentVolume
metadata:
name: hub-db-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: <path_to_local_volume>
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- <name_of_the_node>
然后,您可以部署图表:
helm upgrade --install $RELEASE jupyterhub/jupyterhub \
--namespace $NAMESPACE \
--version=0.9.0 \
--values config.yaml
config.yaml
文件可以保留为:
proxy:
secretToken: "<token>"
singleuser:
storage:
dynamic:
storageClass: local-storage
关于docker - 如何在Kubernetes上为JupyterHub部署持久卷(PV)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62688915/
重要提示:我通过访问我雇主的 jupyterhub 网站并登录来使用 Jupyter notebooks。我实际上从未运行过 jupyterhub命令行上的命令。 我提前提到这一点是因为我在 jupy
我正在使用 Kubernetes 创建 Jupyterhub,并按照 Zero to Jupyterhub 中提供的说明进行操作文档。 jupyterhub 的基本安装工作正常,我什至可以使用 jup
我正在使用 Zero to Jupyterhub Helm 包,以便将 Jupyterhub 部署到我们的 kubernetes 集群中。各个笔记本图像需要一些额外的环境变量(主要是数据库连接信息),
我正在尝试找出使用 JWT 对 JupyterHub 用户进行身份验证的最佳方法。在我的特定用例中,客户端将首先在主网站上进行身份验证,并在稍后阶段重定向到 JupyterHub 代理(两个站点都托管
我正在尝试在 Ubuntu 16.04 上本地运行 jupyterhub;但是,我似乎无法在终端上运行 jupyterhub 命令,并且出现找不到命令的错误。我通过运行以下命令安装了 jupyterh
我已经安装了JupyterHub并运行了它。当我打开页面时,将出现以下窗口: 在那里输入什么?文档是无声的。 最佳答案 用户名是“ jovyan”,密码是“ jupyter” 关于jupyterhub
我已经设置了 Jupyterhub,并安装了 anaconda 并在我的用户主目录中创建了一个 jupyterhub 内核,位于: ~/.local/share/jupyter/kernels/ 我如
我花了很多时间尝试我在网上找到的几个解决方案来解决这个问题。没有任何效果。 Install Location: anaconda : /opt/anaconda Run JupyterHub
我正在使用 JupyterHub 在一些用户之间共享大型计算机的计算能力。主要使用的软件是使用复杂的 C/C++ 代码的 ctypes 扩展 Python 脚本。此代码并非不受内存问题和崩溃的影响。
我正在尝试在 Ubuntu 16.04 上设置 Jupyterhub 服务器,大致类似于 https://github.com/minrk/jupyterhub-demo 。 我使用此处给出的提示更改
错误指向源代码中的以下行 if not user_exists: if self.create_system_users: await maybe_fu
我已经在 ubuntu 上设置了一个 jupyterhub python notebook 服务器。我想添加一些启动脚本,以便当用户登录到笔记本服务器时,将自动加载一些包和模块。有没有我可以指定启动脚
我已经设置了一个带有 LDAP 身份验证的 jupyterhub 服务器。服务器和身份验证工作正常。但我的问题是,我需要在服务器上创建我想手动登录的用户,否则他没有家,我收到此错误。 [I 2018-
我们目前正在 docker 容器中构建一个 jupyterhub 环境,并在共享文件夹中苦苦挣扎。我们的目标是建立一个对所有用户都可写的共享文件夹。 在每个用户的主文件夹中都有一个符号链接(symbo
我已经部署了 JupyterHub 并正在修改外观。我修改了登录模板 (login.html) 以显示背景图片。问题是登录框本身包含背景图像。 看起来像这样: 登录模板代码开始: {% extends
我正在运行JupyterHub AWS EKS 集群上的 0.8.2。 问题很简单,我想知道是否可以配置 JupyterHub 以在笔记本服务器中启用多选文件并全部下载? 或者,是否可以通过某种扩展/
我正在使用默认身份验证器和默认生成器运行 Jupyter-Hub。使用系统用户名 (admin) 登录到 Jupyter-Hub。我在 JupyterHub Web 控制台中添加了一个名为 user1
所以,我在 Windows 10 上安装了 Docker。然后,在 cmd.exe ,我运行一个 docker 容器: C:\Users\user>docker start -i image_name
我是 python 和 jupyterhub 的新手,我已经在云中安装了 juputerhub ubuntu 机器。我想在不从任何地方登录的情况下访问 jupyterhub。谁能帮我解决这个问题。 我
我试图配置 jupyterhub 代理以将内容路由到 my-host-ip/notebook但我无法弄清楚解决方案。 我正在使用以下 Nginx 配置: server { listen
我是一名优秀的程序员,十分优秀!