GKE 需要 prometheus-to-sd 吗?我可以删除它吗?

Posted

技术标签:

【中文标题】GKE 需要 prometheus-to-sd 吗?我可以删除它吗?【英文标题】:Is the prometheus-to-sd required for GKE? Can I delete it? 【发布时间】:2020-08-05 19:39:05 【问题描述】:

不久前,创建了一个 GKE 集群,它带有 daemonset 的:

kubectl get daemonsets --all-namespaces
...
kube-system   prometheus-to-sd           6         6         6       3            6           beta.kubernetes.io/os=linux                                                355d

我可以毫无问题地删除这个daemonset 吗? 它是用来做什么的? 没有它我会失去什么功能?

【问题讨论】:

【参考方案1】:

TL;DR

即使你删除它,它也会回来。


多一点解释

引用用户@Yasen 的解释prometheus-to-sd 是什么:

prometheus-to-sd 是一个简单的组件,它可以从一个或多个组件中抓取存储在prometheus text format 中的指标并将它们推送到 Stackdriver。主要要求:k8s 集群应运行在 GCE 或 GKE 上。

Github.com: Prometheus-to-sd

假设删除这个守护进程的命令是:

$ kubectl delete daemonset prometheus-to-sd --namespace=kube-system

执行此命令确实会删除守护程序集,但它会在一段时间后恢复。

prometheus-to-sd daemonset 由 Addon-Manager 管理,它会将已删除的 daemonset 重新创建回原始状态。

下面是prometheus-to-sd daemonset YAML 定义的一部分,它声明这个daemonset 由addonmanager 管理:

  labels:
    addonmanager.kubernetes.io/mode: Reconcile

您可以通过以下方式了解更多信息:Github.com: Kubernetes: addon-manager


删除此守护程序集与您与 GKE 集群一起使用的监控/日志记录解决方案严格相关。有两种选择:

Stackdriver 日志记录/监控 旧版日志记录/监控

Stackdriver 日志记录/监控

您需要完全禁用 GKE 集群的日志记录和监控才能删除此守护程序集。

您可以按照以下路径进行操作:

GCP -> Kubernetes Engine -> Cluster -> Edit -> Kubernetes Engine Monitoring -> Set to disabled

旧版日志记录/监控

如果您使用的是可用于GKE 版本1.14 的旧版解决方案,则需要按照与上述相同的路径禁用Legacy Stackdriver Monitoring 的选项。

如果您对此有任何疑问,请告诉我。

【讨论】:

【参考方案2】:

TL;DR - 没关系

假设您的上下文,我想,可以关闭集群的prometheus 组件。 报告、警报和监控是您系统的关键部分的情况除外。

让我们深入了解GCP 的来源

根据 GoogleCloudPlatform 的source code:

prometheus-to-sd 是一个简单的组件,它可以从一个或多个组件中抓取存储在prometheus text format 中的指标并将它们推送到 Stackdriver。主要要求:k8s 集群应运行在 GCE 或 GKE 上。

Prometheus

来自他们的Prometheus Github Page:

Prometheus 监控系统和时间序列数据库。

要了解它的用途 - 您可以阅读 Prometheus 上的精彩指南:Prometheus Monitoring : The Definitive Guide in 2019 – devconnected

此外,他们的 Youtube 频道 Prometheus Monitoring 上有数百个视频

您的问题

所以,回答你的问题:

我可以毫无问题地删除这个守护进程吗?

这取决于。正如我所说,你可以。报告、警报和监控是您系统的关键部分的情况除外。

它是干什么用的

这是一个用于监控的TSDB

没有它我会失去什么功能?

指标 → 因此dashboards → 因此alerting

【讨论】:

以上是关于GKE 需要 prometheus-to-sd 吗?我可以删除它吗?的主要内容,如果未能解决你的问题,请参考以下文章

具有自定义指标的 HPA

可以使用 GKE Workload Identity 访问 Google 表格吗?

如何在 GKE 上为 Kubernetes Ingress 强制 SSL

对于每个环境,我们是不是需要单独的 GKE 集群?

旧光泽的 GKE 集群自动扩缩器配置文件

在 GKE 上更改我的 LoadBalancer 的 IP 地址