Kubernetes : Deploy Metrics Server |
Deploy Metrics Server to monitor CPU and Memory resources in Kubernetes Cluster. This example is based on the environment like follows. +----------------------+ +----------------------+
| [ ctrl.srv.world ] | | [ dlp.srv.world ] |
| Manager Node | | Control Plane |
+-----------+----------+ +-----------+----------+
eth0|10.0.0.25 eth0|10.0.0.30
| |
------------+--------------------------+-----------
| |
eth0|10.0.0.51 eth0|10.0.0.52
+-----------+----------+ +-----------+----------+
| [ node01.srv.world ] | | [ node02.srv.world ] |
| Worker Node#1 | | Worker Node#2 |
+----------------------+ +----------------------+
|
| [1] | Deploy Metrics Server. |
| debian@ctrl:~$ git clone https://github.com/kubernetes-sigs/metrics-server debian@ctrl:~$ vi ./metrics-server/manifests/base/deployment.yaml .....
.....
containers:
- name: metrics-server
image: gcr.io/k8s-staging-metrics-server/metrics-server:master
imagePullPolicy: IfNotPresent
args:
- --cert-dir=/tmp
- --secure-port=10250
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s
# line 29 : add
- --kubelet-insecure-tls
debian@ctrl:~$ kubectl apply -k ./metrics-server/manifests/base/ # Warning: 'commonLabels' is deprecated. Please use 'labels' instead. Run 'kustomize edit fix' to update your Kustomization automatically. serviceaccount/metrics-server created clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader created clusterrole.rbac.authorization.k8s.io/system:metrics-server created rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader created clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator created clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server created service/metrics-server created deployment.apps/metrics-server created apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io createddebian@ctrl:~$ kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGE
coredns-674b8bbfcf-v5696 1/1 Running 1 (21m ago) 2d14h
coredns-674b8bbfcf-xsmfg 1/1 Running 1 (21m ago) 2d14h
etcd-dlp.srv.world 1/1 Running 1 (21m ago) 2d14h
kube-apiserver-dlp.srv.world 1/1 Running 1 (21m ago) 2d14h
kube-controller-manager-dlp.srv.world 1/1 Running 1 (21m ago) 2d14h
kube-proxy-2hgcv 1/1 Running 1 (21m ago) 2d14h
kube-proxy-hk6pp 1/1 Running 1 (21m ago) 2d14h
kube-proxy-xqdss 1/1 Running 1 (21m ago) 2d14h
kube-scheduler-dlp.srv.world 1/1 Running 1 (21m ago) 2d14h
metrics-server-789dc499fd-jqn75 1/1 Running 0 41s
# [metrics-server] pod has been deployed
|
| [2] | To display CPU and Memory resources, run like follows. |
| debian@ctrl:~$ kubectl top node NAME CPU(cores) CPU(%) MEMORY(bytes) MEMORY(%) dlp.srv.world 55m 0% 2290Mi 14% node01.srv.world 15m 0% 956Mi 6% node02.srv.world 16m 0% 1055Mi 6%debian@ctrl:~$ kubectl top pod -n kube-system NAME CPU(cores) MEMORY(bytes) coredns-674b8bbfcf-v5696 1m 70Mi coredns-674b8bbfcf-xsmfg 1m 21Mi etcd-dlp.srv.world 13m 131Mi kube-apiserver-dlp.srv.world 24m 535Mi kube-controller-manager-dlp.srv.world 8m 150Mi kube-proxy-2hgcv 1m 80Mi kube-proxy-hk6pp 1m 81Mi kube-proxy-xqdss 1m 82Mi kube-scheduler-dlp.srv.world 4m 82Mi metrics-server-789dc499fd-jqn75 2m 19Mi |
No comments:
Post a Comment