Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 水平吊舱自动缩放无法读取指标_Kubernetes_Apache Kafka_Kubernetes Helm - Fatal编程技术网

Kubernetes 水平吊舱自动缩放无法读取指标

Kubernetes 水平吊舱自动缩放无法读取指标,kubernetes,apache-kafka,kubernetes-helm,Kubernetes,Apache Kafka,Kubernetes Helm,我使用的是卡夫卡头盔图表。 我也在尝试水平吊舱自动缩放 我在templates文件夹中添加了一个hpa.yaml文件,如下所示 apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: kafka-hpa spec: scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: {{ inc

我使用的是卡夫卡头盔图表。 我也在尝试水平吊舱自动缩放

我在templates文件夹中添加了一个hpa.yaml文件,如下所示

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: kafka-hpa
spec:
  scaleTargetRef:
    apiVersion: extensions/v1beta1
    kind: Deployment
    name: {{ include "kafka.fullname" . }}
minReplicas: {{ .Values.replicas }}
maxReplicas: 5
metrics:
- type: Resource
  resource:
    name: cpu
    targetAverageUtilization: 50
- type: Resource
  resource:
    name: memory
    targetAverageValue: 8000Mi
我还使用kind:StatefulSet尝试了上述YAML,但同样的问题仍然存在

我的意图是最初有3个卡夫卡吊舱,并根据上面提到的CPU和内存目标值将其扩展到5个

但是,hpa已部署,但根据我的理解,它无法读取指标,因为当前使用情况显示未知,如下所述

NAME        REFERENCE                          TARGETS                          MINPODS   MAXPODS   REPLICAS   AGE
kafka-hpa   Deployment/whopping-walrus-kafka   <unknown>/8000Mi, <unknown>/50%   3         5         0          1h . 
豆荚产量

$ kubectl get pods
NAME                                              READY     STATUS    RESTARTS   AGE
metrics-server-55cbf87bbb-vm2v5                   1/1       Running   0          15m
whopping-walrus-kafka-0                           1/1       Running   1          1h
whopping-walrus-kafka-1                           1/1       Running   0          1h
whopping-walrus-kafka-2                           1/1       Running   0          1h
whopping-walrus-kafka-exporter-5c66b5b4f9-mv5kv   1/1       Running   1          1h
whopping-walrus-zookeeper-0                       1/1       Running   0          1h
我希望巨大的海象卡夫卡吊舱在装载时可以扩展到5个,但是没有相应的部署

状态集输出

$ kubectl get statefulset
NAME                        DESIRED   CURRENT   AGE
original-bobcat-kafka       3         2         2m
original-bobcat-zookeeper   1         1         2m
当hpa.yaml中的种类为StatefulSet时,描述hpa的输出

$ kubectl describe hpa
Name:                                                  kafka-hpa
Namespace:                                             default
Labels:                                                <none>
Annotations:                                           <none>
CreationTimestamp:                                     Fri, 18 Jan 2019 12:13:59 +0530
Reference:                                             StatefulSet/original-bobcat-kafka
Metrics:                                               ( current / target )
  resource memory on pods:                             <unknown> / 8000Mi
  resource cpu on pods  (as a percentage of request):  <unknown> / 5%
Min replicas:                                          3
Max replicas:                                          5
Conditions:
  Type         Status  Reason          Message
  ----         ------  ------          -------
  AbleToScale  False   FailedGetScale  the HPA controller was unable to get the target's current scale: no matches for kind "StatefulSet" in group "extensions"
Events:
  Type     Reason          Age                From                       Message
  ----     ------          ----               ----                       -------
  Warning  FailedGetScale  15s (x17 over 8m)  horizontal-pod-autoscaler  no matches for kind "StatefulSet" in group "extensions"
$ kubectl describe hpa
Name:                                                  kafka-hpa
Namespace:                                             default
Labels:                                                <none>
Annotations:                                           <none>
CreationTimestamp:                                     Fri, 18 Jan 2019 12:30:07 +0530
Reference:                                             Deployment/good-elephant-kafka
Metrics:                                               ( current / target )
  resource memory on pods:                             <unknown> / 8000Mi
  resource cpu on pods  (as a percentage of request):  <unknown> / 5%
Min replicas:                                          3
Max replicas:                                          5
Conditions:
  Type         Status  Reason          Message
  ----         ------  ------          -------
  AbleToScale  False   FailedGetScale  the HPA controller was unable to get the target's current scale: could not fetch the scale for deployments.extensions good-elephant-kafka: deployments/scale.extensions "good-elephant-kafka" not found
Events:
  Type     Reason          Age   From                       Message
  ----     ------          ----  ----                       -------
  Warning  FailedGetScale  9s    horizontal-pod-autoscaler  could not fetch the scale for deployments.extensions good-elephant-kafka: deployments/scale.extensions "good-elephant-kafka" not found
$kubectl描述hpa
姓名:卡夫卡hpa
名称空间:默认值
标签:
注释:
CreationTimestamp:2019年1月18日星期五12:13:59+0530
参考:StatefulSet/原始山猫卡夫卡
指标:(当前/目标)
吊舱上的资源内存:/8000Mi
POD上的资源cpu(占请求的百分比):/5%
最小副本数:3
最大副本数:5
条件:
键入状态原因消息
----         ------  ------          -------
AbleToScale False FailedGetScale HPA控制器无法获取目标的当前比例:组“extensions”中的种类“StatefulSet”没有匹配项
活动:
从消息中键入原因年龄
----     ------          ----               ----                       -------
警告FailedGetScale 15s(x17大于8m)水平吊舱自动缩放器“扩展”组中的“StatefulSet”类型不匹配
当hpa.yaml中的种类为部署时,描述hpa的输出

$ kubectl describe hpa
Name:                                                  kafka-hpa
Namespace:                                             default
Labels:                                                <none>
Annotations:                                           <none>
CreationTimestamp:                                     Fri, 18 Jan 2019 12:13:59 +0530
Reference:                                             StatefulSet/original-bobcat-kafka
Metrics:                                               ( current / target )
  resource memory on pods:                             <unknown> / 8000Mi
  resource cpu on pods  (as a percentage of request):  <unknown> / 5%
Min replicas:                                          3
Max replicas:                                          5
Conditions:
  Type         Status  Reason          Message
  ----         ------  ------          -------
  AbleToScale  False   FailedGetScale  the HPA controller was unable to get the target's current scale: no matches for kind "StatefulSet" in group "extensions"
Events:
  Type     Reason          Age                From                       Message
  ----     ------          ----               ----                       -------
  Warning  FailedGetScale  15s (x17 over 8m)  horizontal-pod-autoscaler  no matches for kind "StatefulSet" in group "extensions"
$ kubectl describe hpa
Name:                                                  kafka-hpa
Namespace:                                             default
Labels:                                                <none>
Annotations:                                           <none>
CreationTimestamp:                                     Fri, 18 Jan 2019 12:30:07 +0530
Reference:                                             Deployment/good-elephant-kafka
Metrics:                                               ( current / target )
  resource memory on pods:                             <unknown> / 8000Mi
  resource cpu on pods  (as a percentage of request):  <unknown> / 5%
Min replicas:                                          3
Max replicas:                                          5
Conditions:
  Type         Status  Reason          Message
  ----         ------  ------          -------
  AbleToScale  False   FailedGetScale  the HPA controller was unable to get the target's current scale: could not fetch the scale for deployments.extensions good-elephant-kafka: deployments/scale.extensions "good-elephant-kafka" not found
Events:
  Type     Reason          Age   From                       Message
  ----     ------          ----  ----                       -------
  Warning  FailedGetScale  9s    horizontal-pod-autoscaler  could not fetch the scale for deployments.extensions good-elephant-kafka: deployments/scale.extensions "good-elephant-kafka" not found
$kubectl描述hpa
姓名:卡夫卡hpa
名称空间:默认值
标签:
注释:
CreationTimestamp:2019年1月18日星期五12:30:07+0530
参考:部署/大象卡夫卡
指标:(当前/目标)
吊舱上的资源内存:/8000Mi
POD上的资源cpu(占请求的百分比):/5%
最小副本数:3
最大副本数:5
条件:
键入状态原因消息
----         ------  ------          -------
AbleToScale False FailedGetScale HPA控制器无法获取目标的当前比例:无法获取部署的比例。extensions good elephant kafka:deployments/scale.extensions找不到“good elephant kafka”
活动:
从消息中键入原因年龄
----     ------          ----  ----                       -------
警告FailedGetScale 9s水平吊舱自动缩放器无法获取用于部署的比例。extensions good elephant kafka:deployments/scale.extensions找不到“good elephant kafka”
来自度量服务器pod的输出

$ kubectl describe pods metrics-server-55cbf87bbb-vm2v5
Name:           metrics-server-55cbf87bbb-vm2v5
Namespace:      default
Node:           docker-for-desktop/192.168.65.3
Start Time:     Fri, 18 Jan 2019 11:26:33 +0530
Labels:         app=metrics-server
            pod-template-hash=1176943666
            release=metrics-server
Annotations:    <none>
Status:         Running
IP:             10.1.0.119
Controlled By:  ReplicaSet/metrics-server-55cbf87bbb
Containers:
  metrics-server:
    Container ID:  docker://ee4b3d9ed1b15c2c8783345b0ffbbc565ad25f1493dec0148f245c9581443631
    Image:         gcr.io/google_containers/metrics-server-amd64:v0.3.1
    Image ID:      docker-pullable://gcr.io/google_containers/metrics-server-amd64@sha256:78938f933822856f443e6827fe5b37d6cc2f74ae888ac8b33d06fdbe5f8c658b
    Port:          <none>
    Host Port:     <none>
    Command:
      /metrics-server
      --kubelet-insecure-tls
      --kubelet-preferred-address-types=InternalIP
      --logtostderr
    State:          Running
  Started:      Fri, 18 Jan 2019 11:26:35 +0530
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
  /var/run/secrets/kubernetes.io/serviceaccount from metrics-server-token-d2g7b (ro)
Conditions:
  Type           Status
  Initialized    True 
  Ready          True 
  PodScheduled   True 
Volumes:
  metrics-server-token-d2g7b:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  metrics-server-token-d2g7b
    Optional:    false
    QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
             node.kubernetes.io/unreachable:NoExecute for 300s
Events:          <none>
$kubectl描述pods metrics-server-55cbf87bbb-vm2v5
名称:metrics-server-55CBF87BB-vm2v5
名称空间:默认值
节点:docker for desktop/192.168.65.3
开始时间:2019年1月18日星期五11:26:33+0530
标签:app=metrics服务器
pod模板哈希=1176943666
release=metrics服务器
注释:
状态:正在运行
IP:10.1.0.119
控制人:ReplicaSet/metrics-server-55CBF87BB
容器:
度量服务器:
容器ID:docker://ee4b3d9ed1b15c2c8783345b0ffbbc565ad25f1493dec0148f245c9581443631
图片:gcr.io/google_containers/metrics-server-amd64:v0.3.1
图像ID:docker-pullable://gcr.io/google_containers/metrics-server-amd64@sha256:78938f933822856f443e6827fe5b37d6cc2f74ae888ac8b33d06fdbe5f8c658b
端口:
主机端口:
命令:
/度量服务器
--kubelet不安全tls
--kubelet首选地址类型=内部IP
--logtostderr
状态:正在运行
开始时间:2019年1月18日星期五11:26:35+0530
准备好了吗
重新启动计数:0
环境:
挂载:
/var/run/secrets/kubernetes.io/serviceCount来自metrics-server-token-d2g7b(ro)
条件:
类型状态
初始化为True
准备好了吗
播客预定为真
卷数:
metrics-server-token-d2g7b:
类型:Secret(由Secret填充的卷)
SecretName:metrics-server-token-d2g7b
可选:false
QoS等级:最佳努力
节点选择器:
容差:node.kubernetes.io/未就绪:不执行300秒
node.kubernetes.io/不可访问:不执行300秒
活动:
如果我在某个地方出了问题,请随时澄清我的理解


非常感谢您的帮助。

您需要在
metrics服务器部署文件中添加以下命令:

containers:
   - command:
     - /metrics-server
     - --metric-resolution=30s
     - --kubelet-insecure-tls
     - --kubelet-preferred-address-types=InternalIP
     name: metrics-server
我相信metrics服务器找不到具有
InternalIP
的kubelet,因此出现了问题。有关更多信息,请查看我的以下答案,了解设置HPA的分步说明


您需要在
度量服务中添加以下命令