我们正在AKS上运行我们的工作负载。基本上我们有两个节点池。
1. system Pool:,其中所有系统荚都在运行
2.应用程序-节点池:运行我们的实际工作负载/应用程序的。
事实上,我们的应用程序-节点池是污染的,而System Pool不是。因此,基本上,我部署了Loki堆栈,以便进行监视和日志分析。我使用下面的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命令中添加容忍(甚至是在System-Node-Pool.中),所有Grafana和Loki都部署在values.yaml中但我的情况是,由于必要的代理没有部署在Apps-Node-Pool上(例如: Promtail Pods),所以我无法检查应用程序的日志。
由于Apps-Node-Pool中存在污染,如果我们在Helm命令中添加了一个容忍,那么基本上所有与相关的都将部署在Apps-Node-Pool中(由于它没有污染,所以仍然无法保护它在System Pool中的部署)
因此,根据我的集群,我能做什么来确保代理吊舱也运行在受污染的节点上?
发布于 2022-03-15 16:33:31
因此,在我的例子中,我的要求是在Apps-Node-Pool中运行"Promtail“荚。我还没有给前尾豆荚增加一个耐受性,所以我不得不给尾荚增加一个公差。所以成功地在Apps-Node-Pool中部署了Promtail吊舱。
但是,在Promtail荚中添加一个容忍仍然不能保证在Apps-Node-Pool中部署Promtail pods,因为在我的例子中,System Pool没有任何污染。
在这种情况下,您可以利用NodeAffinity和Tolerations在特定节点中独占地部署pods。
https://stackoverflow.com/questions/71482757
复制相似问题