我对kubernetes的golang API有一些疑问.
我应该使用哪一个?k8s.io/client-go或k8s.io/kubernetes/pkg/client?有什么不同?
我想得到所有pod的列表,然后听取添加/更新/删除事件,使用api.Pods("")之间的区别是什么.观察方法和使用线人?
我正在使用集群内部的API,如何获取我当前所在节点的名称?它只是机器的主机名吗?
我应该使用哪一个?k8s.io/client-go或k8s.io/kubernetes/pkg/client?
使用k8s.io/client-go.
使用api.Pods("")之间有什么区别.监视方法和使用线人?
informer本质上是一个共享缓存,减少了API服务器上的负载.除非你做的事情微不足道,否则这是首选方式.
如何获取我当前所在节点的名称?
使用k8s.io/api/core/v1.Node,请参阅此代码.
BTW,我和我的一位同事上周在GopherCon UK举办了一个关于这个主题的研讨会(使用Kube API和Go) - 也许幻灯片和回购对你有用; 此外,还有一个随附的在线Katacoda场景,您可以使用它来玩.