我有Kubernetes集群和Kubernetes master和节点。当有任何节点创建/停止容器时,我有兴趣在Kubernetes master上收听事件。
类似的docker事件,它继续监听事件并在某些活动中弹出屏幕上的输出。
有人可以告诉我如何为Kubernetes做这件事吗?
答案 0 :(得分:2)
您可能需要深入了解API docs并查看实际文档。
为了查看所有活动,您可以观看其中一个感兴趣的对象,也可以过滤列表,这样您就不会看到所有内容。 API operations指南中介绍了如何完成此操作。
第一个超级简单的尝试是:http://<kubernetes-master>:8080/api/v1/pods?watch=true
来查看v1.Pod对象的事件流。
发现API的另一种方法是在详细模式下使用kubectl
。因此,如果您找到了kubectl
命令,可以获得所需内容,则可以向其添加-v=6
,以查看调用哪个API网址来获取数据。在您的程序中,您可以使用相同的URL来获取中间没有kubectl的数据。
使用Janos中的示例,这将是:kubectl get ev -w -v=6
,结果如下:
...
I0322 17:03:55.738391 18068 round_trippers.go:318] GET http://127.0.0.1:8080/api/v1/watch/namespaces/default/events?resourceVersion=18474970 200 OK in 0 milliseconds
...
希望这有任何帮助。