我想更新Heapster配置(为influxdb添加接收器)。问题在于,由于我们是通过Google Container Engine创建集群的,因此默认情况下会创建heapster,并且在kubernetes master上具有配置文件。我无法以与连接奴才节点(ssh)相同的方式连接到kubernetes master。我想知道是否有一种方法可以直接通过k8s master上的配置文件或通过kubernetes API更新heapster pod配置

最佳答案

我有相同的用例,所以我可以分享到目前为止找到的内容。

Heapster作为集群插件运行,似乎无法在Google Container Engine(GKE)中托管的Kubernetes上添加/删除/修改所有集群插件。
但是,您可以控制其中两个:“Horizo​​ntalPodAutoscaling”和“HttpLoadBalancing”(来源:https://cloud.google.com/container-engine/docs/clusters/operations#updating_a_container_cluster)。

在Kubernetes 1.4中,我能够应用自定义的Heapster部署(带有influxdb接收器),它将有效地替换内置的heapster插件。
在Kubernetes 1.5.1中,我的更改已还原并且很有意义,因为可能有一个集群插件管理器可以使所有插件保持同步(来源:https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/README.md

最后,我要做的是使用influxdb sink(使用不同的名称和pod标签)创建了一个单独的Heapster部署。
优点:我可以完全控制它的配置。缺点:两个堆占用更多的资源。

如果您找到一种编辑或禁用内置heapster群集插件的方法,请分享操作方法。

09-11 23:46