Grafana 和 Loki 代理未部署在受污染的节点中



我们在AKS上运行工作负载。基本上我们有两个节点池。

1.系统节点池:所有系统pod都在运行

2.应用程序节点池:我们的实际工作负载/应用程序运行的位置。

事实上,我们的应用程序节点池被污染了,而系统节点池则没有被污染。因此,基本上我部署了Loki Grafana堆栈,以便进行监控和日志分析。我使用下面的Helm命令来安装Grafana-Loki堆栈。

helm upgrade --install loki grafana/loki-stack  --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false,loki.persistence.enabled=true,loki.persistence.storageClassName=standard,loki.persistence.size=5Gi

由于容忍没有添加到helm命令中(甚至在values.yaml中(,所有Grafana和Loki吊舱都部署在系统节点池中。但我的情况是,由于应用程序节点池上没有部署必要的代理(例如:Promtail Pods(,我无法检查我的应用程序Pods的日志。

由于Taint存在于应用程序节点池中,如果我们在Helm命令中添加Toleration,那么基本上所有与监控相关的Pod都将部署在应用程序节点库中(仍然不能保证,因为它可能会部署在系统节点池中,因为它没有Taint(

因此,根据我的集群,我可以做些什么来确保Agent pod也在Tained节点中运行?

所以在我的情况下,我的要求是运行;Promtail";应用程序节点池中的pod。我还没有在promtail吊舱中添加Toleration,所以我不得不在Promtails吊舱中添加一个Toleration。因此,Promtail pod成功地部署在了应用程序节点池中。

但仍然在Promtail pod中添加Toleration并不能保证Promtail pods的部署部署在应用程序节点池中,因为在我的情况下,系统节点池没有任何污点。

在这种情况下,您可以利用NodeAffinity和Tolerations在特定节点中专门部署pod。

相关内容

  • 没有找到相关文章

最新更新