Kubernetes : Metrics Server の設定2025/01/27 |
Metrics Server を設定して、Kubernetes クラスターの CPU/メモリー リソースのメトリクスを収集/監視します。 当例では以下のように 4 台のノードを使用して Kubernetes クラスターを構成しています。 +----------------------+ +----------------------+ | [ 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] | Metrics Server を設定します。 |
[cent@ctrl ~]$ git clone https://github.com/kubernetes-sigs/metrics-server
[cent@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 # 29行目 : 追記 - --kubelet-insecure-tls[cent@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 created[cent@ctrl ~]$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-856c5c4dd7-h44c2 1/1 Running 2 5d
calico-node-2dmks 1/1 Running 3 5d
calico-node-q9d28 1/1 Running 2 5d
calico-node-wkkd7 1/1 Running 3 5d
coredns-7c65d6cfc9-grmjf 1/1 Running 2 5d
coredns-7c65d6cfc9-kf97n 1/1 Running 2 5d
etcd-dlp.srv.world 1/1 Running 4 5d
kube-apiserver-dlp.srv.world 1/1 Running 4 5d
kube-controller-manager-dlp.srv.world 1/1 Running 4 5d
kube-proxy-74x7h 1/1 Running 3 5d
kube-proxy-dq55l 1/1 Running 2 5d
kube-proxy-zcz5g 1/1 Running 3 5d
kube-scheduler-dlp.srv.world 1/1 Running 4 5d
metrics-server-75c666cb86-8pdnk 1/1 Running 0 53s
# [metrics-server] pod が新規にデプロイされる
|
[2] | CPU や メモリー の使用状況は以下のように確認できます。 |
[cent@ctrl ~]$ kubectl top node NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% dlp.srv.world 76m 0% 1746Mi 11% node01.srv.world 25m 0% 920Mi 5% node02.srv.world 27m 0% 960Mi 6%[cent@ctrl ~]$ kubectl top pod -n kube-system NAME CPU(cores) MEMORY(bytes) calico-kube-controllers-856c5c4dd7-h44c2 3m 79Mi calico-node-2dmks 18m 180Mi calico-node-q9d28 12m 176Mi calico-node-wkkd7 13m 177Mi coredns-7c65d6cfc9-grmjf 1m 18Mi coredns-7c65d6cfc9-kf97n 1m 73Mi etcd-dlp.srv.world 9m 100Mi kube-apiserver-dlp.srv.world 19m 353Mi kube-controller-manager-dlp.srv.world 5m 143Mi kube-proxy-74x7h 1m 86Mi kube-proxy-dq55l 1m 85Mi kube-proxy-zcz5g 1m 86Mi kube-scheduler-dlp.srv.world 2m 83Mi metrics-server-75c666cb86-8pdnk 2m 27Mi |
Sponsored Link |
|