0
votes

how to install heapster or metric server to get pod metrics in kubernetes. I need those pod metrics for using it to horizontal pod auto-scaling. I'm using Digital Ocean cloud cluster. deployment file is in the screenshot below enter image description here

2

2 Answers

0
votes

You need to first download the following files:

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

Then create the following service instance of grafana, influxdb and 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

Follow this tutorial for test your autoscaling pods:

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

Hope this helps.

EDIT: Resource request in your deployment file:

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"    

resources and request should be there in your deployment files so that HPA can access it to autoscale.

0
votes

Heapster is Deprecated in Latest Kubernetes. Fetching metrics from Heapster is deprecated as of Kubernetes 1.11.

Installing with metrics-server worked for me :

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

Source :