我正在尝试配置“水平Pod自动缩放器”,以根据连接的GPU的占空比缩放部署。
我正在使用GKE,而我的Kubernetes主版本是1.10.7-gke.6。
我正在研究https://cloud.google.com/kubernetes-engine/docs/tutorials/external-metrics-autoscaling上的教程。特别是,我运行了以下命令来设置自定义指标:
@using RazerMagazineDashboard.Models
@model RazerMagazineDashboard.Models.SummaryModel
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
@{
foreach (InfoCardModel cardModel in @Model.CardModels)
{
@Html.Partial("~/Views/Shared/_InfoCard.cshtml", cardModel); @* Works well *@
<partial name="_InfoCard.cshtml" model="cardModel" /> @* Renders nothing *@
<partial name="_InfoCard.cshtml" model=@cardModel /> @* Renders nothing *@
<partial name="~/Views/Shared/_InfoCard.cshtml" model="cardModel" /> @* Renders nothing *@
<partial name="~/Views/Shared/_InfoCard.cshtml" model=@cardModel /> @* Renders nothing *@
}
}
这似乎有效,或者至少我可以在/apis/custom.metrics.k8s.io/v1beta1中访问指标列表。
这是我的YAML:
kubectl create -f https://raw.githubusercontent.com/GoogleCloudPlatform/k8s-stackdriver/master/custom-metrics-stackdriver-adapter/deploy/production/adapter.yaml
我相信metricName的存在是因为它在/apis/custom.metrics.k8s.io/v1beta1中列出,并且在https://cloud.google.com/monitoring/api/metrics_gcp中进行了描述。
这是我在描述HPA时遇到的错误:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: images-srv-hpa
spec:
minReplicas: 1
maxReplicas: 10
metrics:
- type: External
external:
metricName: container.googleapis.com|container|accelerator|duty_cycle
targetAverageValue: 50
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: images-srv-deployment
我真的不知道该如何调试。有人知道什么地方可能出问题了,或者我下一步该怎么做?
答案 0 :(得分:0)
您使用的是“类型:外部”。对于“外部指标列表”,您需要使用“ kubernetes.io”而不是“ container.googleapis.com” [1]
替换“ metricName:container.googleapis.com |容器|加速器|任务周期”
与
“ metricName:kubernetes.io |容器|加速器|工作周期”
[1] https://cloud.google.com/monitoring/api/metrics_other#other-kubernetes.io
答案 1 :(得分:0)
一旦我将系统置于负载下,此问题就自动消失了。使用相同的配置,现在可以正常工作。
我不确定为什么。我最好的猜测是,StackMetrics直到达到1%以上才报告占空比值。