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
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.