【问题标题】:Using multiple custom metrics adapters in Kubernetes在 Kubernetes 中使用多个自定义指标适配器
【发布时间】:2021-02-11 16:49:12
【问题描述】:

我正在使用 GKE。

我有一个集群,它使用 stackdriver-adapter 来获取集群内的 GCP 指标。我正在使用这些指标来创建 HPA。这工作正常。

但现在我需要根据 prometheus 提供的指标创建 HPA。我正在尝试启动 prometheus-adapter,但它失败了,因为 API 服务已经由 stackdriver-adapter 创建。但如果我删除堆栈驱动程序,我目前的 HPA 将失败。

我们可以让 prometheus-adapter 和 stackdriver-adpater 在同一个集群中运行吗?

如果不是,我想我们需要将 prometheus-metrics 发送到 stackdriver?但这会不会很慢?

【问题讨论】:

标签: kubernetes google-kubernetes-engine prometheus metrics autoscaling


【解决方案1】:

如cmets中所说:

查看文档Using Prometheus,您将在那里找到如何安装 Prometheus 并获取外部指标。之后,按照文档Custom and external metrics for autoscaling workloads 配置HPA。


您可以为 Prometheus 服务器配置一个 sidecar,它将数据从 Prometheus 发送到 Stackdriver。从此时起,您将能够在配置HPA 时将Prometheus 指标用作External metrics

在“安装”收集器之前,您需要检查以下要求:

-- Cloud.google.com: Stackdriver: Solutions: GKE: Prometheus: Before you begin

出于测试安装 Prometheus 和配置向 Stackdriver 传输数据的目的,我使用了以下脚本:

步骤:

  • 下载存储库:
    • $ git clone https://github.com/Stackdriver/stackdriver-prometheus-sidecar.git
  • 设置以下环境变量(值是示例):
export KUBE_NAMESPACE="prometheus" 
export KUBE_CLUSTER="gke-prometheus"
export GCP_REGION="europe-west3-c"
export GCP_PROJECT="awesome-project-12345" 
export SIDECAR_IMAGE_TAG="0.8.0"

SIDECAR_IMAGE_TAG 可以在这里找到:

  • 运行脚本:
    • kube/full/deploy.sh

使用 Stackdriver Sidecar 成功生成 Prometheus 后,您应该能够在 Cloud Console 中看到指标:

  • GCP Cloud Console (Web UI) -> Monitoring -> Metrics Explorer

例子:

从此时起,您可以按照配置HPA 的指南并将您的External metric 设置为自动缩放Deployment/Statefulset 的源:


其他资源:

【讨论】:

    猜你喜欢
    • 2021-04-12
    • 2019-01-28
    • 2020-02-03
    • 2019-05-01
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多