【问题标题】:How can I read a Jupyter notebook token from the k8s Python API?如何从 k8s Python API 读取 Jupyter 笔记本令牌?
【发布时间】:2022-01-03 22:11:18
【问题描述】:

我正在使用 k8s Python API 创建一个 k8s 部署、服务和入口。部署使用最小笔记本容器来创建 Jupyter 笔记本实例。

创建部署后,如何使用 k8s Python API 读取我的最小笔记本 pod 的令牌?

【问题讨论】:

    标签: python kubernetes jupyter-notebook jupyter


    【解决方案1】:

    您需要获取 pod 日志并提取令牌。 鉴于 pod 已经在运行

    k get pods
    NAME       READY   STATUS    RESTARTS   AGE
    mininote   1/1     Running   0          17m
    
    k get pod mininote -o json | jq '.spec.containers[].image'
    "jupyter/minimal-notebook"
    

    你可以这样做: [我的 pod 的名称是 mininote,它在 default 命名空间中运行]

    import re
    from kubernetes.client.rest import ApiException
    from kubernetes import client, config
    
    config.load_kube_config()
    pod_name = "mininote"
    namespace_name = "default"
    
    try:
        api = client.CoreV1Api()
        response = api.read_namespaced_pod_log(name=pod_name, namespace=namespace_name)
        match = re.search(r'token=([0-9a-z]*)', response)
        print(match.group(1))
    except ApiException as e:
        print('Found exception in reading the logs:')
        print(e)
    

    运行:

    > python main.py
    174c891b5db325b2aec283df90525c68ab02b02e3a565da5
    

    【讨论】:

    • 谢谢!这有效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    相关资源
    最近更新 更多