Openshift 1.5.0上具有自定义指标的自动缩放部署

Openshift 1.5.0上具有自定义指标的自动缩放部署,openshift,kubernetes,openshift-origin,heapster,hawkular,Openshift,Kubernetes,Openshift Origin,Heapster,Hawkular,是否有可能使用Openshift Origin 1.5.0(kubernetes 1.5.2)自动缩放部署并为此使用自定义指标 Kubernetes文档指出,1.2版支持使用自定义度量进行自动缩放。这看起来是真的,只是因为Openshift水平吊舱自动缩放器(HPA)试图获得一些指标并计算所需的指标。但我的配置无法成功执行此操作。伙计们,请帮我找出我做错了什么 那么,会发生什么: 我已经按照Origin最新文档中的建议设置了度量标准(所有步骤都已通过): 我有一个应用程序,正在部署部署类对象

是否有可能使用Openshift Origin 1.5.0(kubernetes 1.5.2)自动缩放部署并为此使用自定义指标

Kubernetes文档指出,1.2版支持使用自定义度量进行自动缩放。这看起来是真的,只是因为Openshift水平吊舱自动缩放器(HPA)试图获得一些指标并计算所需的指标。但我的配置无法成功执行此操作。伙计们,请帮我找出我做错了什么

那么,会发生什么:

  • 我已经按照Origin最新文档中的建议设置了度量标准(所有步骤都已通过):

    • 我有一个应用程序,正在部署部署类对象
    • 此应用程序使用http json端点公开自定义指标
    • 正在收集和存储自定义度量-这显示在相应pod度量选项卡的Openshift源UI中
    • 在我创建HPA之后-出现了一些关于收集自定义度量的警告,它写了一些类似“收集自定义度量失败,没有收到任何就绪POD的度量”的内容
    • 我使用API版本1创建HPA,并包含注释
      alpha/target.custom-metrics.podautoscaler.kubernetes.io:“{”items:[{”name:“requests_count”,“value:“10”}]}”
    • 如果我通过主代理请求一个部署的heapster应用程序,我会收到如下消息

      { “元数据”:{}, “项目”:[ { “元数据”:{ “名称”:“resty-1722683747-kmbw0”, “命名空间”:“可用性演示”, “creationTimestamp”:“2017-05-24T09:50:24Z” }, “时间戳”:“2017-05-24T09:50:00Z”, “窗口”:“1m0s”, “容器”:[ { “名称”:“resty”, “用法”:{ “cpu”:“0”, “内存”:“2372Ki” } } ] } ] }

    • 如您所见,实际上没有自定义指标,我的自定义指标名为
      requests\u count

我应该采取哪些步骤来成功实施自定义度量自动缩放?

更新: 在openshift主日志中,警告如下所示:

I0524 10:17:47.537985       1 panics.go:76GET /apis/extensions/v1beta1/namespaces/availability-demo/deployments/resty/scale: (3.379724ms) 200 [[openshift/v1.5.2+43a9be4 (linux/amd64) kubernetes/43a9be4 system:serviceaccount:openshift-infra:hpa-controller] 10.105.8.81:33945]
I0524 10:17:47.543354       1 panics.go:76] GET /api/v1/proxy/namespaces/openshift-infra/services/https:heapster:/apis/metrics/v1alpha1/namespaces/availability-demo/pods?labelSelector=app%3Dresty: (4.830135ms) 200 [[openshift/v1.5.2+43a9be4 (linux/amd64) kubernetes/43a9be4 system:serviceaccount:openshift-infra:hpa-controller] 10.105.8.81:33945]
I0524 10:17:47.553255       1 panics.go:76] GET /api/v1/namespaces/availability-demo/pods?labelSelector=app%3Dresty: (8.864864ms) 200 [[openshift/v1.5.2+43a9be4 (linux/amd64) kubernetes/43a9be4 system:serviceaccount:openshift-infra:hpa-controller] 10.105.8.81:33945]
I0524 10:17:47.559909       1 panics.go:76] GET /api/v1/namespaces/availability-demo/pods?labelSelector=app%3Dresty: (5.725342ms) 200 [[openshift/v1.5.2+43a9be4 (linux/amd64) kubernetes/43a9be4 system:serviceaccount:openshift-infra:hpa-controller] 10.105.8.81:33945]
I0524 10:17:47.560977       1 panics.go:76] PATCH /api/v1/namespaces/availability-demo/events/resty.14c14bbf8b89534c: (6.385846ms) 200 [[openshift/v1.5.2+43a9be4 (linux/amd64) kubernetes/43a9be4 system:serviceaccount:openshift-infra:hpa-controller] 10.105.8.81:33945]
I0524 10:17:47.565418       1 panics.go:76] GET /api/v1/proxy/namespaces/openshift-infra/services/https:heapster:/api/v1/model/namespaces/availability-demo/pod-list/resty-1722683747-kmbw0/metrics/custom/requests_count?start=2017-05-24T10%3A12%3A47Z: (5.015336ms) 200 [[openshift/v1.5.2+43a9be4 (linux/amd64) kubernetes/43a9be4 system:serviceaccount:openshift-infra:hpa-controller] 10.105.8.81:33945]
I0524 10:17:47.569843       1 panics.go:76] GET /api/v1/namespaces/availability-demo/pods?labelSelector=app%3Dresty: (4.040029ms) 200 [[openshift/v1.5.2+43a9be4 (linux/amd64) kubernetes/43a9be4 system:serviceaccount:openshift-infra:hpa-controller] 10.105.8.81:33945]
I0524 10:17:47.575530       1 panics.go:76] PUT /apis/autoscaling/v1/namespaces/availability-demo/horizontalpodautoscalers/resty/status: (4.894835ms) 200 [[openshift/v1.5.2+43a9be4 (linux/amd64) kubernetes/43a9be4 system:serviceaccount:openshift-infra:hpa-controller] 10.105.8.81:33945]
I0524 10:17:47.575856       1 horizontal.go:438] Successfully updated status for resty
W0524 10:17:47.575890       1 horizontal.go:104] Failed to reconcile resty: failed to compute desired number of replicas based on Custom Metrics for Deployment/availability-demo/resty: failed to get custom metric value: did not recieve metrics for any ready pods
更新:找到了HPA通过代理向heapster发出的请求,以收集自定义指标。此请求始终返回空的度量值数组:

GET /api/v1/proxy/namespaces/openshift-infra/services/https:heapster:/api/v1/model/namespaces/availability-demo/pod-list/availability-example-1694583826-55hqh/metrics/custom/requests_count?start=2017-05-25T13%3A14%3A24Z HTTP/1.1
Host: kubernetes-master:8443
Authorization: Bearer hpa-agent-token
它回来了

{"items":[{"metrics":[],"latestTimestamp":"0001-01-01T00:00:00Z"}]}

更新:事实证明,HPA通过代理请求heapster,而heapster反过来请求“摘要”kubernetes api那么问题是-为什么kubernetes“summary”api没有为上述请求提供度量值,尽管度量值存在?

可能是一个猜测,但我自己在一个自制集群上遇到了这个问题,我遇到的两个问题是令牌问题,其中我的HA主设置证书设置不正确,另一个问题是关于我的kubedns。不确定这是否适用于openshitf。

可能是一个猜测,但我自己在一个自制集群上遇到了问题,我遇到的两件事是令牌问题,其中HA主设置的证书设置不正确,另一个问题是关于我的kubedns。不确定这是否适用于openshitf。

我想回答存在一些授权问题,这会更好=),但不幸的是,没有客户机/服务器报告他们无法检查任何证书链或解析任何名称,甚至所有请求都在主服务器上处理。谢谢你的回复。该问题目前是实际存在的-我将尝试解决此问题。我想回答存在一些授权问题,这会更好=),但不幸的是,没有客户机/服务器报告他们无法检查任何证书链或解析任何名称-甚至所有请求都在主服务器上处理。谢谢你的回复。这个问题目前是实际存在的,我将努力解决这个问题。