Я пытаюсь просмотреть ресурс kubernetes, такой как pods, с клиентом kubernetes python (версия 9.0), но метод watch.stream() кажется приостановленным, когда я смотрю ресурс k8s через несколько минут.
v1 = client.CoreV1Api()
w = watch.Watch()
for resource in w.stream(v1.list_namespaced_pod):
dosomething(resource)
как мне всегда продолжать смотреть модуль kebernetes
Вероятно, вы нажимаете этот проблема, и в качестве обходного пути, упомянутого в этом комментарий, вы можете попробовать, как показано ниже:
from kubernetes import client, config, watch
from urllib3.exceptions import ProtocolError
config.load_kube_config()
api_instance = client.CoreV1Api()
while True:
w = watch.Watch()
try:
for event in w.stream(api_instance.list_namespaced_pod, namespace = "default"):
print("Event: %s %s %s" % (event['type'],event['object'].kind, event['object'].metadata.name))
except ProtocolError:
print("watchPodEvents ProtocolError, continuing..")
Надеюсь, поможет!
Готово, брандмауэр отключил соединение
спасибо, но цикл
while True
не работает, может быть брандмауэр обрывает соединение, я собираюсь переустановить клиент kubernetes