不久前创建了一个 GKE
集群,其中包含一个 daemonset
:
kubectl get daemonsets --all-namespaces
...
kube-system prometheus-to-sd 6 6 6 3 6 beta.kubernetes.io/os=linux 355d
我可以毫无问题地删除此daemonset
吗?
它的用途是什么?
如果没有它我会失去什么功能?
最佳答案
TL;DR
即使你删除它,它也会回来。
更多解释
引用用户 @Yasen 的解释 prometheus-to-sd
是什么:
prometheus-to-sd is a simple component that can scrape metrics stored in prometheus text format from one or multiple components and push them to the Stackdriver. Main requirement: k8s cluster should run on GCE or GKE.
假设删除此守护进程集的命令为:
$ kubectl delete daemonset prometheus-to-sd --namespace=kube-system
执行此命令确实会删除守护进程集,但一段时间后它会恢复。
prometheus-to-sd
daemonset 由 Addon-Manager 管理,它将把删除的 daemonset 重新创建回原始状态。
下面是 prometheus-to-sd
守护进程 YAML
定义的一部分,其中声明该守护进程由 addonmanager
管理:
labels:
addonmanager.kubernetes.io/mode: Reconcile
您可以通过以下方式阅读更多相关信息:Github.com: Kubernetes: addon-manager
删除此守护程序集与您在 GKE
集群中使用的监控/日志记录解决方案严格相关。有 2 个选项:
- Stackdriver 日志记录/监控
- 旧版日志记录/监控
Stackdriver 日志记录/监控
您需要完全禁用 GKE
集群的日志记录和监控才能删除此守护进程集。
您可以按照以下路径来完成:
GCP -> Kubernetes Engine -> 集群 -> 编辑 -> Kubernetes Engine 监控 -> 设置为禁用
。
旧版日志记录/监控
如果您使用的是 GKE
版本 1.14
可用的旧版解决方案,则需要通过以下方式禁用旧版 Stackdriver 监控
选项:遵循与上面相同的路径。
如果您对此有任何疑问,请告诉我。
关于kubernetes - GKE 是否需要 prometheus-to-sd?我可以删除它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61370968/