Ubuntu 20.04
Sponsored Link

Kubernetes : Deploy Metrics Server2020/08/19

 
Deploy Metrics Server to monitor CPU and Memory resources in Kubernetes Cluster.
This example is based on the environment like follows.
-----------+---------------------------+--------------------------+------------
           |                           |                          |
       eth0|10.0.0.30              eth0|10.0.0.51             eth0|10.0.0.52
+----------+-----------+   +-----------+----------+   +-----------+----------+
|   [ dlp.srv.world ]  |   | [ node01.srv.world ] |   | [ node02.srv.world ] |
|      Master Node     |   |      Worker Node     |   |      Worker Node     |
+----------------------+   +----------------------+   +----------------------+

[1] Deploy Metrics Server on Master Node.
root@dlp:~#
git clone https://github.com/kubernetes-sigs/metrics-server

Cloning into 'metrics-server'...
remote: Enumerating objects: 45, done.
remote: Counting objects: 100% (45/45), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 12244 (delta 12), reused 21 (delta 2), pack-reused 12199
Receiving objects: 100% (12244/12244), 12.47 MiB | 4.70 MiB/s, done.
Resolving deltas: 100% (6388/6388), done.

root@dlp:~#
vi ./metrics-server/manifests/base/deployment.yaml
.....
.....
 containers:
      - name: metrics-server
        image: gcr.io/k8s-staging-metrics-server/metrics-server:master
        imagePullPolicy: IfNotPresent
        # line 32 : add
        command:
        - /metrics-server
        - --kubelet-insecure-tls
        - --kubelet-preferred-address-types=InternalIP
        args:
          - --cert-dir=/tmp
          - --secure-port=4443
          - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
          - --kubelet-use-node-status-port
.....
.....

root@dlp:~#
kubectl apply -k ./metrics-server/manifests/base/

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
poddisruptionbudget.policy/metrics-server created
apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created

root@dlp:~#
kubectl get pods -n kube-system

NAME                                    READY   STATUS    RESTARTS   AGE
coredns-66bff467f8-jhjp9                1/1     Running   1          4h31m
coredns-66bff467f8-xz6g2                1/1     Running   1          4h31m
etcd-dlp.srv.world                      1/1     Running   1          4h31m
kube-apiserver-dlp.srv.world            1/1     Running   1          4h31m
kube-controller-manager-dlp.srv.world   1/1     Running   1          4h31m
kube-flannel-ds-amd64-gz6qm             1/1     Running   2          4h29m
kube-flannel-ds-amd64-hnb44             1/1     Running   2          4h27m
kube-flannel-ds-amd64-rnwcn             1/1     Running   1          4h28m
kube-proxy-l56tg                        1/1     Running   1          4h31m
kube-proxy-mlmm5                        1/1     Running   1          4h27m
kube-proxy-rdx99                        1/1     Running   1          4h28m
kube-scheduler-dlp.srv.world            1/1     Running   1          4h31m
metrics-server-df657db46-5cc9l          2/2     Running   0          55s
# [metrics-server] pod has been deployed
[2] To display CPU and Memory resources, run like follows.
root@dlp:~#
kubectl top node

NAME               CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
dlp.srv.world      156m         1%     824Mi           6%
node01.srv.world   47m          0%     723Mi           6%
node02.srv.world   42m          1%     472Mi           6%

root@dlp:~#
kubectl top pod

NAME                          CPU(cores)   MEMORY(bytes)
test-nginx-7b7d9954bd-4wtsf   0m           3Mi
test-nginx-7b7d9954bd-62mxb   0m           4Mi
test-nginx-7b7d9954bd-mn8t8   0m           3Mi
test-nginx-7b7d9954bd-vgsxf   0m           3Mi
Matched Content