установить heapster или metric server в kubernetes для горизонтального автомасштабирования подов

как установить сервер heapster или metric для получения показателей pod в кубернетах. Мне нужны эти показатели модуля, чтобы использовать его для горизонтального автоматического масштабирования модуля. Я использую облачный кластер Digital Ocean. Файл развертывания находится на снимке экрана ниже  введите описание изображения здесь


person AATHITH RAJENDRAN    schedule 10.12.2018    source источник


Ответы (2)


Вам необходимо сначала скачать следующие файлы:

curl https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/grafana.yaml > grafana.yaml
curl https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/heapster.yaml > heapster.yaml
curl https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/influxdb/influxdb.yaml > influxdb.yaml
curl https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/rbac/heapster-rbac.yaml > heapster-rbac.yaml

Затем создайте следующий экземпляр службы grafana, Infxdb и heapster:

$ kubectl create -f grafana.yaml
deployment "monitoring-grafana" created
service "monitoring-grafana" created

$ kubectl create -f heapster.yaml
serviceaccount "heapster" created
deployment "heapster" created
service "heapster" created

$ kubectl create -f influxdb.yaml
deployment "monitoring-influxdb" created
service "monitoring-influxdb" created

$ kubectl create -f heapster-rbac.yaml
clusterrolebinding "heapster" created

Следуйте этому руководству, чтобы проверить свои модули автомасштабирования:

https://developer.ibm.com/tutorials/autoscale-application-on-kubernetes-cluster/

Надеюсь это поможет.

РЕДАКТИРОВАТЬ: запрос ресурса в вашем файле развертывания:

apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
  - name: db
    image: mysql
    env:
    - name: MYSQL_ROOT_PASSWORD
      value: "password"
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"
  - name: wp
    image: wordpress
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"    

ресурсы и запрос должны быть в ваших файлах развертывания, чтобы HPA могла получить к ним доступ для автомасштабирования.

person Prafull Ladha    schedule 10.12.2018
comment
kubectl get hpa ЦЕЛИ остаются неизвестными / 25%. Я думаю, что HPA не может получить показатели стручка. Что мне теперь делать? @prafull - person AATHITH RAJENDRAN; 10.12.2018
comment
Вам необходимо указать запросы ресурсов в разделе спецификации Pod вашего развертывания, чтобы HPA мог отображать эту информацию. - person Prafull Ladha; 10.12.2018
comment
Я перешел по ссылке, которую вы разместили выше. Где я должен указать запрос ресурса? (Я новичок в кубернетах) @prafull - person AATHITH RAJENDRAN; 10.12.2018
comment
Я отредактировал свой ответ, у которого есть запрос ресурсов в разделе спецификации, вы должны иметь их для доступа к метрикам памяти и процессора с помощью HPA - person Prafull Ladha; 10.12.2018
comment
ресурсы и запросы уже были, (к вопросу добавлен скриншот файла развертывания) @prafull - person AATHITH RAJENDRAN; 10.12.2018
comment
вы можете добавить kubectl get hpa результатов? - person aurelius; 10.12.2018
comment
Heapster устарел, верно? В любом случае, я попробовал предложить предложенный вами ответ, и из журналов модулей панели мониторинга я вижу, что: No metric client provided. Skipping metrics. Я просмотрел его, и, похоже, это сделано намеренно в пользу функции, над которой работают. github.com/kubernetes/dashboard/issues/3147 - person Venu S; 29.05.2019

Heapster устарел в последних версиях Kubernetes. Получение метрик из Heapster устарело в Kubernetes 1.11.

У меня сработала установка с metrics-server:

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

Источник :

person Anthony Vinay    schedule 06.11.2020