Kubernetes HPA--无法获取资源内存的指标:没有从资源指标API返回指标

Kubernetes HPA--无法获取资源内存的指标:没有从资源指标API返回指标,kubernetes,metrics,hpa,Kubernetes,Metrics,Hpa,下午好 我刚从Kubernetes开始,我正在与HPA(HorizontalPodAutoscaler)合作: 但当我尝试在控制台上查看指标时,它不会显示: [dockermd@tmp108 APP-MM-ConsultaCuentaPagadoraPospago]$ kubectl get hpa NAME REFERENCE TARGETS

下午好

我刚从Kubernetes开始,我正在与HPA(HorizontalPodAutoscaler)合作:

但当我尝试在控制台上查看指标时,它不会显示:

    [dockermd@tmp108 APP-MM-ConsultaCuentaPagadoraPospago]$ kubectl get hpa
    NAME                                REFERENCE                                      TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
    find-complementary-account-info-1   Deployment/find-complementary-account-info-1   <unknown>/50%   2         5         2          143m
给我看看标签

此外,如果我执行kubect描述hpa,它会引发以下问题:

[dockermd@tmp108 APP-MM-ConsultaCuentaPagadoraPospago]$ kubectl describe hpa find-complementary-account-info-1
Name:                                                     find-complementary-account-info-1
Namespace:                                                default
Labels:                                                   <none>
Annotations:                                              <none>
CreationTimestamp:                                        Thu, 29 Oct 2020 13:57:58 -0400
Reference:                                                Deployment/find-complementary-account-info-1
Metrics:                                                  ( current / target )
  resource memory on pods  (as a percentage of request):  <unknown> / 50%
Min replicas:                                             2
Max replicas:                                             5
Deployment pods:                                          2 current / 0 desired
Conditions:
  Type           Status  Reason                   Message
  ----           ------  ------                   -------
  AbleToScale    True    SucceededGetScale        the HPA controller was able to get the target's current scale
  ScalingActive  False   FailedGetResourceMetric  the HPA was unable to compute the replica count: unable to get metrics for resource memory: no metrics returned from resource metrics API
Events:
  Type     Reason                   Age                     From                       Message
  ----     ------                   ----                    ----                       -------
  Warning  FailedGetResourceMetric  4m49s (x551 over 144m)  horizontal-pod-autoscaler  unable to get metrics for resource memory: no metrics returned from resource metrics API
我缺少什么?有人能帮我一下吗

[dockermd@tmp108 certs]$ kubectl describe pod metrics-server -n kube-system
Name:         metrics-server-5f4b6b9889-6pbv8
Namespace:    kube-system
Priority:     0
Node:         tmp224/10.164.21.169
Start Time:   Thu, 29 Oct 2020 13:27:19 -0400
Labels:       k8s-app=metrics-server
              pod-template-hash=5f4b6b9889
Annotations:  cni.projectcalico.org/podIP: 10.244.119.140/32
              cni.projectcalico.org/podIPs: 10.244.119.140/32
Status:       Running
IP:           10.244.119.140
IPs:
  IP:           10.244.119.140
Controlled By:  ReplicaSet/metrics-server-5f4b6b9889
Containers:
  metrics-server:
    Container ID:  docker://f71d26dc2c8e787ae9551faad66f9588a950bf0a6d0d5cb90ff11ceb219e9b37
    Image:         k8s.gcr.io/metrics-server-amd64:v0.3.6
    Image ID:      docker-pullable://k8s.gcr.io/metrics-server-amd64@sha256:c9c4e95068b51d6b33a9dccc61875df07dc650abbf4ac1a19d58b4628f89288b
    Port:          4443/TCP
    Host Port:     0/TCP
    Args:
      --cert-dir=/tmp
      --secure-port=4443
    State:          Running
      Started:      Thu, 29 Oct 2020 13:27:51 -0400
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /tmp from tmp-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from metrics-server-token-4mn92 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  tmp-dir:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  metrics-server-token-4mn92:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  metrics-server-token-4mn92
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  kubernetes.io/arch=amd64
                 kubernetes.io/os=linux
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:          <none>
[dockermd@tmp108证书]$kubectl描述pod度量服务器-n kube系统
名称:metrics-server-5f4b6b9889-6pbv8
名称空间:kube系统
优先级:0
节点:tmp224/10.164.21.169
开始时间:2020年10月29日星期四13:27:19-0400
标签:k8s app=metrics服务器
pod模板哈希=5f4b6b9889
注释:cni.projectcalico.org/podIP:10.244.119.140/32
cni.projectcalico.org/podIPs:10.244.119.140/32
状态:正在运行
IP:10.244.119.140
IPs:
IP:10.244.119.140
控制人:ReplicaSet/metrics-server-5f4b6b9889
容器:
度量服务器:
容器ID:docker://f71d26dc2c8e787ae9551faad66f9588a950bf0a6d0d5cb90ff11ceb219e9b37
图:k8s.gcr.io/metrics-server-amd64:v0.3.6
图像ID:docker-pullable://k8s.gcr.io/metrics-server-amd64@sha256:c9c4e95068b51d6b33a9dccc61875df07dc650abbf4ac1a19d58b4628f89288b
端口:4443/TCP
主机端口:0/TCP
Args:
--证书目录=/tmp
--安全端口=4443
状态:正在运行
开始时间:2020年10月29日星期四13:27:51-0400
准备好了吗
重新启动计数:0
环境:
挂载:
/来自tmp dir(rw)的tmp
/var/run/secrets/kubernetes.io/serviceaccount来自metrics-server-token-4mn92(ro)
条件:
类型状态
初始化为True
准备好了吗
集装箱准备好了吗
播客预定为真
卷数:
tmp主任:
类型:EmptyDir(共享pod生存期的临时目录)
中等:
SizeLimit:
metrics-server-token-4mn92:
类型:Secret(由Secret填充的卷)
SecretName:metrics-server-token-4mn92
可选:false
QoS等级:最佳努力
节点选择器:kubernetes.io/arch=amd64
kubernetes.io/os=linux
容差:node.kubernetes.io/未就绪:NoExecute op=存在300秒
node.kubernetes.io/unreachable:NoExecute op=存在300秒
活动:

错误
无法获取资源内存的度量值:从资源度量API返回的任何度量值都不是由故障HPA引起的,而是由无法获取任何度量值的度量值服务器引起的

大多数情况下,此错误是由中引起的。可以通过在部署中添加以下参数来完成

  --kubelet-insecure-tls
  --kubelet-preferred-address-types=InternalIP,ExternalIP

您的metrics服务器是否正常运行?执行时是否返回任何值,例如:
kubectl top pod
?$kubectl top nodes错误:指标不可用yetIt不返回任何值。如何正确配置metrics服务器?能否共享
kubectl description pod-n kube系统的输出。将输出添加到comando kubectl Descripte pod metrics server-n kube systemIt is is is is,this missing。多谢各位
[dockermd@tmp108 APP-MM-ConsultaCuentaPagadoraPospago]$ kubectl get deployment metrics-server -n kube-system
NAME             READY   UP-TO-DATE   AVAILABLE   AGE
metrics-server   1/1     1            1           177m
[dockermd@tmp108 certs]$ kubectl describe pod metrics-server -n kube-system
Name:         metrics-server-5f4b6b9889-6pbv8
Namespace:    kube-system
Priority:     0
Node:         tmp224/10.164.21.169
Start Time:   Thu, 29 Oct 2020 13:27:19 -0400
Labels:       k8s-app=metrics-server
              pod-template-hash=5f4b6b9889
Annotations:  cni.projectcalico.org/podIP: 10.244.119.140/32
              cni.projectcalico.org/podIPs: 10.244.119.140/32
Status:       Running
IP:           10.244.119.140
IPs:
  IP:           10.244.119.140
Controlled By:  ReplicaSet/metrics-server-5f4b6b9889
Containers:
  metrics-server:
    Container ID:  docker://f71d26dc2c8e787ae9551faad66f9588a950bf0a6d0d5cb90ff11ceb219e9b37
    Image:         k8s.gcr.io/metrics-server-amd64:v0.3.6
    Image ID:      docker-pullable://k8s.gcr.io/metrics-server-amd64@sha256:c9c4e95068b51d6b33a9dccc61875df07dc650abbf4ac1a19d58b4628f89288b
    Port:          4443/TCP
    Host Port:     0/TCP
    Args:
      --cert-dir=/tmp
      --secure-port=4443
    State:          Running
      Started:      Thu, 29 Oct 2020 13:27:51 -0400
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /tmp from tmp-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from metrics-server-token-4mn92 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  tmp-dir:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  metrics-server-token-4mn92:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  metrics-server-token-4mn92
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  kubernetes.io/arch=amd64
                 kubernetes.io/os=linux
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:          <none>
  --kubelet-insecure-tls
  --kubelet-preferred-address-types=InternalIP,ExternalIP