Python 相当于 kubectl describe pod 的 Kubernetes 客户端 | grep 事件
Python Kubernetes client equivalent of kubectl describe pod | grep Events
我正在为 AWS 上的自托管 kubernetes 集群创建自定义监控脚本。在所有其他工具中,我对 Python 客户端非常感兴趣。我有一本 pod 字典和它们的状态。现在我想迭代 dict.keys(基本上是 pods)来 从 kubelet 检查他们的事件。我正在寻找以下数据:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedMount 20m (x25188 over 44d) kubelet, ip-10-222-145-32.us-west-2.compute.internal MountVolume.SetUp failed for volume "sag-license-volume" : configmap "my-licence" not found
Warning FailedMount 35s (x72078 over 44d) kubelet, ip-10-222-155-32.us-west-2.compute.internal (combined from similar events): MountVolume.SetUp failed for volume "my-license-volume" : configmap "my-license" not found
我查看了网络,只能找到与命名空间相关的示例,但找不到与个人相关的示例 pods。
请帮助我通过 Python 客户端获取此数据。提前致谢!
字段选择器成功了,list_namespaced_event 解决了这个问题。
field_selector='involvedObject.name='+'my_pod'
stream = watch.Watch().stream(v1.list_namespaced_event, "my_ns", field_selector=field_selector, timeout_seconds=1)
for event in stream:
print(event['object'].message)
我正在为 AWS 上的自托管 kubernetes 集群创建自定义监控脚本。在所有其他工具中,我对 Python 客户端非常感兴趣。我有一本 pod 字典和它们的状态。现在我想迭代 dict.keys(基本上是 pods)来 从 kubelet 检查他们的事件。我正在寻找以下数据:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedMount 20m (x25188 over 44d) kubelet, ip-10-222-145-32.us-west-2.compute.internal MountVolume.SetUp failed for volume "sag-license-volume" : configmap "my-licence" not found
Warning FailedMount 35s (x72078 over 44d) kubelet, ip-10-222-155-32.us-west-2.compute.internal (combined from similar events): MountVolume.SetUp failed for volume "my-license-volume" : configmap "my-license" not found
我查看了网络,只能找到与命名空间相关的示例,但找不到与个人相关的示例 pods。
请帮助我通过 Python 客户端获取此数据。提前致谢!
字段选择器成功了,list_namespaced_event 解决了这个问题。
field_selector='involvedObject.name='+'my_pod'
stream = watch.Watch().stream(v1.list_namespaced_event, "my_ns", field_selector=field_selector, timeout_seconds=1)
for event in stream:
print(event['object'].message)