python kubernetes 手表崩溃

我一直在尝试使用 python kubernetes API 来流式传输 kubernetes 日志的输出。我计划检索日志并最终使用 Web Socket 来传输日志。


from kubernetes import watch

...

def getLog(pod,namespace):

   w = watch.Watch()

   return w.stream(v1.read_namespaced_pod_log, name=pod, namespace=namespace)

main():

   result = getLog(pod, namespace)

   for line in result:

      print(line)

但是我收到以下错误。


Traceback (most recent call last):

  File "./kubernetes-project", line 176, in <module>

    main()

  File "...venv/lib/python3.6/site-packages/kubernetes/watch/watch.py", line 143, in stream

    yield self.unmarshal_event(line, return_type)

  File "...venv/lib/python3.6/site-packages/kubernetes/watch/watch.py", line 91, in unmarshal_event

    js['raw_object'] = js['object']

TypeError: 'int' object is not subscriptable

预期输出应低于。然而,日志一直在流式传输,直到128,。3是下一行的预期输出。


...

"random_crop_size": [

   384,

   128, **streaming stops here and error starts showing below**

   3

...

我怀疑该错误可能是由于仅3将行转换为int对象而不是字符串,因此watch无法处理它。


知道如何解决这个问题吗?


慕容708150
浏览 115回答 1
1回答

GCT1015

该问题已在最新版本的 kubernetes 中得到跟踪和解决。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python