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 的选项。
如果您对此有任何疑问,请告诉我。