我使用一个定制的记录器来记录目前在木星中心做任何事情的人。
logging_config: dict = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"company": {
"()": lambda: MyFormatter(user=os.environ.get("JUPYTERHUB_USER", "Unknown"))
},
},
....
c.Application.logging_config = logging_config输出:{"asctime": "2022-06-29 14:13:43,773", "level": "WARNING", "name": "JupyterHub", "message": "Updating Hub route http://127.0.0.1:8081 \u2192 http://jupyterhub:8081", "user": "Unknown"
记录器本身工作正常,但我无法记录是谁在执行该操作。在我开始的映像中,有一个JUPYTERHUB_USER env变量可用。这似乎是从JupyterHub那里传过来的(我不知道到底是怎么做到的)。但是在JupyterHub中,我没有这个变量可用。
是否有一种在JupyterHub中使用它的方法,而不仅仅是在jupyterLab容器中?
发布于 2022-06-29 17:17:52
这并不能让您一路顺风,但这是一个开始--我们使用extra_annotations钩子通过KubeSpawner的cluster_options添加额外的pod注释/标签(请参阅我们的舵图获得完整的daskhub设置):
dask-gateway:
gateway:
extraConfig:
optionHandler: |
from dask_gateway_server.options import Options, String, Select, Mapping, Float, Bool
from math import ceil
def cluster_options(user):
def option_handler(options):
extra_annotations = {
"hub.jupyter.org/username": user.name
}
default_extra_labels = {
"hub.jupyter.org/username": user.name,
}
return Options(
Select(
...
),
...,
handler=option_handler,
)
c.Backend.cluster_options = cluster_options然后,您可以使用这些标签轮询豆荚以获得实时使用。不过,可能有更直接的方法来做到这一点-不确定。
https://stackoverflow.com/questions/72802952
复制相似问题