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 日志记录/监控
您需要完全禁用 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 吗?我可以删除它吗?的主要内容,如果未能解决你的问题,请参考以下文章
可以使用 GKE Workload Identity 访问 Google 表格吗?