【发布时间】:2020-10-08 22:32:32
【问题描述】:
我们使用stable/prometheus-operator helm chart 在我们的 GKE 集群上设置了 Prometheus + Grafana。现在我们想将一些指标导出到 Stackdriver,因为我们已经安装了自定义指标 Stackdriver 适配器。我们已经在使用 Stackdriver 的一些 Pub/Sub 指标来自动扩展少数部署。现在我们还想在其他部署的自动缩放中使用一些 Prometheus 指标(主要是 nginx 请求率)。
那么,我的第一个问题是:我们可以将 Prometheus 适配器与 Stackdriver 适配器并行使用以在同一个集群中进行自动扩缩吗?
如果没有,我们需要安装 Stackdriver Prometheus Sidecar 以将 Prometheus 指标导出到 Stackdriver,然后通过 Stackdriver 适配器使用它们进行自动缩放。
根据here 的说明,看起来我们需要在运行 Prometheus 的同一 pod 上安装 Stackdriver sidecar。我试了一下。当我运行patch.sh 脚本时,我收到了消息:statefulset.apps/prometheus-prom-operator-prometheus-o-prometheus patched 但是当我再次检查 statefulset 时,它里面没有 Stackdriver sidecar 容器。由于这个 statefulset 是由 Helm chart 创建的,我们可能无法直接修改它。在 Helm 中有推荐的方法吗?
【问题讨论】:
-
你仍然可以修改有状态集,即使它是由 Helm 创建的。 Helm 不维护部署的状态,它只是根据图表和模板部署资源。
-
我有时会看到修补实时资源的问题。您可以通过更新 helm 模板或
kuebctl get statefulset prometheus-prom-operator-prometheus-o-prometheus -o yaml --export file.yaml之类的东西来更新部署,添加必填字段,然后添加kubectl apply -f file.yaml -
@PatrickW 不,这似乎不起作用。即使我只是删除 statefulset,它也会自动重新创建。在这个 statefulset 的生成的 yaml 文件中有这行代码块。
ownerReferences: - apiVersion: monitoring.coreos.com/v1 blockOwnerDeletion: true controller: true kind: Prometheus name: prom-operator-prometheus-o-prometheus uid: 5f3e13d6-0caa-428c-88b0-39c883f93ec4这能负责吗? -
您是否尝试编辑负责生成此
Statefulset的 Helm 图表以包含边车的定义并重新创建 pod? -
@MuhammadAnas 很高兴听到您解决了它。您能否分享您的结果作为答案,因为它会更容易被其他社区成员看到?
标签: kubernetes google-cloud-platform google-kubernetes-engine kubernetes-helm stackdriver