Py学习  »  docker

使用docker for mac从pod获取CPU利用率

M.Hol • 4 年前 • 306 次点击  

我试着用 Horizontal Pod Autosclaer 对于 nginx

当我描述我的hpa时,我有一个信息 horizontal-pod-autoscaler failed to get cpu utilization: unable to get metrics for resource cpu: unable to fetch metrics from resource metrics API: the server could not find the requested resource

我用 mac的docker

我的部署

apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-app
spec:
 selector:
   matchLabels:
     run: demo-app
 replicas: 1
 template:
   metadata:
     labels:
       run: demo-app
   spec:
  containers:
    - name: demo-app
      image: my-demo-app:v3
      imagePullPolicy: Never
      resources:
        requests:
          cpu: 250m
        limits:
          cpu: 300m
      ports:
        - containerPort: 80

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
 name: demo-app-hpa
 namespace: default
spec:
 scaleTargetRef:
   apiVersion: apps/v1
   kind: Deployment
   name: demo-app
 minReplicas: 1
 maxReplicas: 3
 targetCPUUtilizationPercentage: 3

输出 kubectl获得hpa 命令:

NAME           REFERENCE             TARGETS        MINPODS   MAXPODS   REPLICAS   AGE
demo-app-hpa   Deployment/demo-app   <unknown>/3%   1         3         1          20m

输出 kubectl get --raw /apis/metrics.k8s.io/v1beta1

{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"metrics.k8s.io/v1beta1","resources":[{"name":"nodes","singularName":"","namespaced":false,"kind":"NodeMetrics","verbs":["get","list"]},{"name":"pods","singularName":"","namespaced":true,"kind":"PodMetrics","verbs":["get","list"]}]}

我将metric服务器配置为 this 但不是工作

Scaling active

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55429
 
306 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Crou
Reply   •   1 楼
Crou    5 年前

看起来您缺少metrics服务器。

HorizontalPodAutoscaler通常从一系列聚合的API获取度量( metrics.k8s.io , custom.metrics.k8s.io ,和 external.metrics.k8s.io ). 这个 API通常由metrics服务器提供,需要单独启动。见 metrics-server 以获得指示。HorizontalPodAutoscaler还可以直接从Heapster获取度量。

kubectl get --raw /apis/metrics.k8s.io/v1beta1 .

metrics-server 复制回购协议然后运行 kubectl create -f deploy/1.8+/

Docker Kubernetes (Mac) - Autoscaler unable to find metrics .