topPID COMMAND %CPU TIME #TH #WQ #PORT MEM PURG CMPRS PGRP37210 com.docker.h 155.4 31:23.69 13/4 0 36 11G+ 0B 7922M- 36866发现docker占用内存11G
top发现我们docker占用的内存特别大,去docker desktop的resource里面检查下发现设置的是8G加2G的swap,感觉有点大,能缩小吗?我们的pod实际占用了多少呢?
然后具体看下哪个pod占用比较多% kubectl top poderror: Metrics API not available
默认没有安装metric-server安装下https://github.com/kubernetes-sigs/metrics-server/releases
% kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.0/components.yamlserviceaccount/metrics-server createdclusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader createdclusterrole.rbac.authorization.k8s.io/system:metrics-server createdrolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader createdclusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator createdclusterrolebinding.rbac.authorization.k8s.io/system:metrics-server createdservice/metrics-server createddeployment.apps/metrics-server createdapiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created
由于国内原因,镜像k8s.gcr.io/metrics-server/metrics-server:v0.6.0拉不下来
% kubectl -n kube-system get pod metrics-server-65b979d49c-kdtg2NAME READY STATUS RESTARTS AGEmetrics-server-65b979d49c-kdtg2 0/1 ImagePullBackOff 0 7m34s
% kubectl top podError from server (ServiceUnavailable): the server is currently unable to handle the request (get pods.metrics.k8s.io)
去docker hub找一个
% docker pull bitnami/metrics-server:latestlatest: Pulling from bitnami/metrics-serveredb9df82989e: Pull completefd4ce8181ca9: Pull completedd7359543396: Pull completeb515c7504db3: Pull completea4af5d5f09ef: Pull complete48f8bc37bc18: Pull complete37af7a161a3c: Pull completeDigest: sha256:6f8bdb06de083988b13b6c08dee3e40e061194e07e6b780fa3d4de6c487fbd25Status: Downloaded newer image for bitnami/metrics-server:latestdocker.io/bitnami/metrics-server:latest
发现pod启动失败
% kubectl -n kube-system logs metrics-server-57f695cd54-zf8fz.go:188] "Failed probe" probe="metric-storage-ready" err="not metrics to serve"E0123 03:38:08.027869 1 scraper.go:139] "Failed to scrape node" err="GET \"https://192.168.65.4:10250/stats/summary?only_cpu_and_memory=true\": bad status code \"403 Forbidden\"" node="docker-desktop"I0123 03:38:13.498399 1 server.go:188] "Failed probe" probe="metric-storage-ready" err="not metrics to serve"
原因是没有配置https认证,我们本机学习,不用配置,修改下yaml
- --kubelet-insecure-tls=true
发现还是不行,原因是默认的rbac授权权限不够,修改下
apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata:name: system:metrics-serverrules:- apiGroups:- ""resources:- pods- nodes- nodes/stats- namespacesverbs:- get- list- watch- apiGroups:- "extensions"resources:- deploymentsverbs:- get- list- watch
检查下,发现已经启动成功了
% kubectl -n kube-system get pods metrics-server-664ffd5b45-mn4r8NAME READY STATUS RESTARTS AGEmetrics-server-664ffd5b45-mn4r8 1/1 Running 0 6m22s
看下我们的内存和cpu占用
% kubectl top pod -n istio-systemNAME CPU(cores) MEMORY(bytes)grafana-6ccd56f4b6-wp798 6m 42Miistio-egressgateway-687f4db598-rj2mg 5m 45Miistio-ingressgateway-8d5985f54-cvlcw 6m 42Miistiod-5698b78654-lm7r6 4m 49Miistiod-5698b78654-lwg4p 6m 52Miistiod-5698b78654-r2vp8 7m 46Mijaeger-5d44bc5c5d-mt9cq 3m 25Mikiali-79b86ff5bc-srf9k 1m 12Miprometheus-64fd8ccd65-rn9lc 24m 406Mi
看下所有的占用
% kubectl top node docker-desktopNAME CPU(cores) CPU% MEMORY(bytes) MEMORY%docker-desktop 902m 22% 4147Mi 52%


文章转载自golang算法架构leetcode技术php,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




