(Kubernetes EKS)-度量服务器不可用

(Kubernetes EKS)-度量服务器不可用,kubernetes,amazon-eks,Kubernetes,Amazon Eks,我正在尝试为我的1.13 EKS集群中的POD启用自动缩放策略。我也遇到了同样的问题,那就是metrics服务器永远不可用 kubectl get deployment metrics-server -n kube-system NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE metrics-server 1 1 1 0 9s 我已经

我正在尝试为我的1.13 EKS集群中的POD启用自动缩放策略。我也遇到了同样的问题,那就是metrics服务器永远不可用

kubectl get deployment metrics-server -n kube-system
NAME             DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
metrics-server   1         1         1            0           9s
我已经在自己的机器上克隆了必要的repo,然后
kubectl apply-f deploy/1.8+
。 我还将这些行添加到部署中:

       args:
          - --cert-dir=/tmp
          - --secure-port=4443
          - --kubelet-insecure-tls
          - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        command:
          - /metrics-server
          - --metric-resolution=30s
          - --requestheader-allowed-names=aggregator
          - --kubelet-insecure-tls
          - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP

我尝试了args,然后分别尝试了命令部分,然后一起尝试。我还从集群中删除了heapster(kubectl delete-f和)

谢谢你的帮助

编辑:当我运行
kubectl description deployment metrics server-n kube system
时,我看到:

Name:                   metrics-server
Namespace:              kube-system
CreationTimestamp:      Fri, 22 Nov 2019 16:08:14 +0000
Labels:                 k8s-app=metrics-server
Annotations:            deployment.kubernetes.io/revision: 1
                        kubectl.kubernetes.io/last-applied-configuration:
                          {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"labels":{"k8s-app":"metrics-server"},"name":"metrics-server","na...
Selector:               k8s-app=metrics-server
Replicas:               1 desired | 1 updated | 1 total | 0 available | 1 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:           k8s-app=metrics-server
  Service Account:  metrics-server
  Containers:
   metrics-server:
    Image:        k8s.gcr.io/metrics-server-amd64:v0.3.6
    Port:         <none>
    Host Port:    <none>
    Environment:  <none>
    Mounts:
      /tmp from tmp-dir (rw)
  Volumes:
   tmp-dir:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      False   MinimumReplicasUnavailable
  Progressing    False   ProgressDeadlineExceeded
OldReplicaSets:  <none>
NewReplicaSet:   metrics-server-6fbb7b8994 (1/1 replicas created)
Events:
  Type    Reason             Age   From                   Message
  ----    ------             ----  ----                   -------
  Normal  ScalingReplicaSet  10m   deployment-controller  Scaled up replica set metrics-server-6fbb7b8994 to 1

名称:度量服务器
名称空间:kube系统
CreationTimestamp:2019年11月22日星期五16:08:14+0000
标签:k8s app=metrics服务器
注释:deployment.kubernetes.io/revision:1
kubectl.kubernetes.io/last-applicated-configuration:
{“apiVersion”:“apps/v1”,“种类”:“部署”,“元数据”:{“注释”:{},“标签”:{“k8s app”:“metrics server”},“名称”:“metrics server”,“na…”。。。
选择器:k8s app=metrics服务器
副本:1个需要的副本| 1个更新的副本| 1个总数| 0个可用副本| 1个不可用副本
策略类型:RollingUpdate
最小就绪秒:0
滚动更新策略:最多25%不可用,最多25%喘振
Pod模板:
标签:k8s app=metrics服务器
服务帐户:metrics服务器
容器:
度量服务器:
图:k8s.gcr.io/metrics-server-amd64:v0.3.6
端口:
主机端口:
环境:
挂载:
/来自tmp dir(rw)的tmp
卷数:
tmp主任:
类型:EmptyDir(共享pod生存期的临时目录)
中等:
SizeLimit:
条件:
类型状态原因
----           ------  ------
可用的错误最小值ReplicaSunAvailable
正在进行的错误进程超出了死线
旧复制集:
NewReplicaSet:metrics-server-6fbb7b8994(创建了1/1个副本)
活动:
从消息中键入原因年龄
----    ------             ----  ----                   -------
正常扩展ReplicaSet 10m部署控制器将副本集metrics-server-6fbb7b8994扩展为1

找出问题所在,如果您最终遇到与我相同的问题,请按照以下步骤操作: 使用部署中的度量部署服务器:

- name: metrics-server
        image: k8s.gcr.io/metrics-server-amd64:v0.3.6
        args:
          - --cert-dir=/tmp
          - --secure-port=4443
          - --kubelet-insecure-tls
申请此hpa

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
 name: cpu-trial
 namespace: trial
spec:
 scaleTargetRef:
   apiVersion: apps/v1beta1
   kind: Deployment
   name: cpu-trial
 minReplicas: 3
 maxReplicas: 5
 metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 85
  - type: Resource
    resource:
      name: memory
      target:
        type: Utilization
        averageUtilization: 85
在部署中应用这些行

        image: #{image}
        resources:
          limits:
            cpu: 200m
            memory: "65Mi"
          requests:
            cpu: 100m
            memory: "40Mi"

应该是这样的!

您的群集上安装了什么?您是否已经遵循aws关于自动调用的文档?@night gold我已经遵循了他们的文档是的。我在节点上有一个自动缩放策略,这是一个编号:)您问了一个关于eks的问题,所以我指的是eks解决方案的缩放。您应该看看调用特定于eks的文档,并查看cluster AutoCaller项目:)好吧,我并不是具体询问eks,我相信更多的kubernetes…?您提到的自动缩放在我看来似乎是关于集群的,POD的自动缩放更多的是kubernetes的功能(eks教程中提到过)问题变了,但仍然是您假定安装了metrics服务器的文档,在eks教程中,您需要安装它