【发布时间】:2022-01-03 22:11:18
【问题描述】:
我正在使用 k8s Python API 创建一个 k8s 部署、服务和入口。部署使用最小笔记本容器来创建 Jupyter 笔记本实例。
创建部署后,如何使用 k8s Python API 读取我的最小笔记本 pod 的令牌?
【问题讨论】:
标签: python kubernetes jupyter-notebook jupyter
我正在使用 k8s Python API 创建一个 k8s 部署、服务和入口。部署使用最小笔记本容器来创建 Jupyter 笔记本实例。
创建部署后,如何使用 k8s Python API 读取我的最小笔记本 pod 的令牌?
【问题讨论】:
标签: python kubernetes jupyter-notebook jupyter
您需要获取 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
【讨论】: