Docker Kubernetes(Mac)-自动缩放器无法找到指标

Mr.*_*tle 5 docker kubernetes

我已经在Mac上通过Docker安装了Kubernetes的本地实例。

在有关如何在部署中激活自动扩展的演练之后,我遇到了一个问题。自动缩放器无法读取指标。

当我运行时kubectl describe hpa,当前的CPU使用率以警告的形式返回未知/ 50%

警告FailedGetResourceMetric:horizo​​ntal-pod-autoscaler无法获取资源cpu的指标:无法从API获取指标:服务器找不到请求的资源(获取pods.metrics.k8s.io)

警告FailedComputeMetricsReplicas horizo​​ntal-pod-autoscaler无法获取cpu利用率:无法获取资源cpu的度量标准:无法从API获取度量标准:服务器找不到请求的资源(获取pods.metrics.k8s.io)

我已经通过安装了metrics-server,git clone https://github.com/kubernetes-incubator/metrics-server.git并使用kubectl create -f deploy/1.8+

Mr.*_*tle 13

我终于使它工作了。.以下是我使工作正常进行的完整步骤:

  1. 让Kubernetes在Docker中运行

  2. 使用以下命令从您的Kubernetes实例中删除任何以前的metrics-server实例: kubectl delete -n kube-system deployments.apps metrics-server

  3. 克隆指标服务器 git clone https://github.com/kubernetes-incubator/metrics-server.git

  4. 通过添加以前不存在的命令部分,编辑文件deploy / 1.8 + / metrics-server-deployment.yaml以覆盖默认命令。新部分将指示metrics-server允许进行不安全的通信会话(不要验证所涉及的证书)。仅对Docker执行此操作,而不对metrics-server的生产部署执行此操作:

    containers:
    - name: metrics-server
        image: k8s.gcr.io/metrics-server-amd64:v0.3.1
        command:
          - /metrics-server
          - --kubelet-insecure-tls
    
    Run Code Online (Sandbox Code Playgroud)
  5. 度量服务器添加到您的Kubernetes实例与kubectl create -f deploy/1.8+(如果与.yaml错误,写这个:kubectl apply -f deploy/1.8+

  6. 删除自动缩放器,然后再次将其添加到您的部署中。现在它应该显示当前的cpu使用情况。

  • 这在 Windows 上对我不起作用。我仍然未知/50% (2认同)
  • 您的步骤对我也很重要。除此处以外的其他任何地方都找不到此文档,因此感谢您发布它。 (2认同)

6LY*_*TH3 8

对于在这里使用内部 IP 的人可能对你有用。在第 4 步中按照上面的 @Mr.Turtle 操作。添加更多一个命令。

  containers:
  - name: metrics-server
    image: k8s.gcr.io/metrics-server-amd64:v0.3.3
    command:
      - /metrics-server
      - --kubelet-insecure-tls
      - --kubelet-preferred-address-types=InternalIP
Run Code Online (Sandbox Code Playgroud)