企业项目实战k8s篇(十八)Helm部署metrics-server
Helm部署metrics-server由于之前已经手动部署过metrics-server,所以不会再遇到初次部署时遇到的问题,具体前置操作可查看之前博客的操作企业项目实战k8s篇(十四)kubernetes资源监控拉取bitnami/metrics-server:0.5.0-debian-10-r59,修改tag并上传本地harbor[root@server3 ~]# docker pull b
·
Helm部署metrics-server
由于之前已经手动部署过metrics-server
,所以不会再遇到初次部署时遇到的问题,具体前置操作可查看之前博客的操作
企业项目实战k8s篇(十四)kubernetes资源监控
拉取bitnami/metrics-server:0.5.0-debian-10-r59
,修改tag并上传本地harbor
[root@server3 ~]# docker pull bitnami/metrics-server:0.5.0-debian-10-r59
0.5.0-debian-10-r59: Pulling from bitnami/metrics-server
2e4c6c15aa52: Pull complete
a894671f5dca: Pull complete
049ba86a208b: Pull complete
5d7966168fc3: Pull complete
9804d459b822: Pull complete
a416b953cdc3: Pull complete
Digest: sha256:118158c95578aa18b42d49d60290328c23cbdb8252b812d4a7c142d46ecabcf6
Status: Downloaded newer image for bitnami/metrics-server:0.5.0-debian-10-r59
docker.io/bitnami/metrics-server:0.5.0-debian-10-r59
[root@server3 ~]# docker tag docker.io/bitnami/metrics-server:0.5.0-debian-10-r59 reg.westos.org/bitnami/metrics-server:0.5.0-debian-10-r59
[root@server3 ~]# docker push reg.westos.org/bitnami/metrics-server:0.5.0-debian-10-r59
The push refers to repository [reg.westos.org/bitnami/metrics-server]
c30a7821a361: Pushed
5ecebc0f05f5: Pushed
6e8fc12b0093: Pushed
7f6d39b64fd8: Pushed
ade06b968aa1: Pushed
209a01d06165: Pushed
0.5.0-debian-10-r59: digest: sha256:118158c95578aa18b42d49d60290328c23cbdb8252b812d4a7c142d46ecabcf6 size: 1578
拉取应用部署文件,解压缩
[root@server1 ~]# cd helm/
[root@server1 helm]# helm pull bitnami/metrics-server
[root@server1 helm]# tar zxf metrics-server-5.9.2.tgz
[root@server1 helm]# ls
metrics-server-5.9.2.tgz
删除之前手动
部署metrics-server
删除前
[root@server1 metrics-server]# kubectl top node
W0804 05:32:45.442844 11383 top_node.go:119] Using json format to get metrics. Next release will switch to protocol-buffers, switch early by passing --use-protocol-buffers flag
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
server1 209m 10% 1296Mi 68%
server2 92m 4% 643Mi 33%
server4 114m 5% 923Mi 48%
执行部署文件,撤销部署
[root@server1 ~]# kubectl delete -f components.yaml
serviceaccount "metrics-server" deleted
clusterrole.rbac.authorization.k8s.io "system:aggregated-metrics-reader" deleted
clusterrole.rbac.authorization.k8s.io "system:metrics-server" deleted
rolebinding.rbac.authorization.k8s.io "metrics-server-auth-reader" deleted
clusterrolebinding.rbac.authorization.k8s.io "metrics-server:system:auth-delegator" deleted
clusterrolebinding.rbac.authorization.k8s.io "system:metrics-server" deleted
service "metrics-server" deleted
deployment.apps "metrics-server" deleted
apiservice.apiregistration.k8s.io "v1beta1.metrics.k8s.io" deleted
再次测试kubectl top node
,无效命令
[root@server1 ~]# kubectl top node
W0804 05:34:12.563512 12939 top_node.go:119] Using json format to get metrics. Next release will switch to protocol-buffers, switch early by passing --use-protocol-buffers flag
error: Metrics API not available
valuses文件只需添加imageRegistry: "reg.westos.org"
,其他默认
global:
imageRegistry: "reg.westos.org"
## E.g.
## imagePullSecrets:
## - myRegistryKeySecretName
##
imagePullSecrets: []
创建namespace:metrics-server
,尽量一个namespace一个应用,做好隔离
[root@server1 metrics-server]# kubectl create namespace metrics-server
namespace/metrics-server created
部署应用,指定namespace:metrics-server
,发生错误,按照下面操作指引执行语句
[root@server1 metrics-server]# helm install metrics-server . -n metrics-server
NAME: metrics-server
LAST DEPLOYED: Wed Aug 4 05:43:57 2021
NAMESPACE: metrics-server
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
** Please be patient while the chart is being deployed **
The metric server has been deployed.
########################################################################################
### ERROR: The metrics.k8s.io/v1beta1 API service is not enabled in the cluster ###
########################################################################################
You have disabled the API service creation for this release. As the Kubernetes version in the cluster
does not have metrics.k8s.io/v1beta1, the metrics API will not work with this release unless:
Option A:
You complete your metrics-server release by running:
helm upgrade --namespace metrics-server metrics-server bitnami/metrics-server \
--set apiService.create=true
Option B:
You configure the metrics API service outside of this Helm chart
执行后指引语句后,不再报错
[root@server1 metrics-server]# helm upgrade --namespace metrics-server metrics-server bitnami/metrics-server --set apiService.create=true
Release "metrics-server" has been upgraded. Happy Helming!
NAME: metrics-server
LAST DEPLOYED: Wed Aug 4 05:44:23 2021
NAMESPACE: metrics-server
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
** Please be patient while the chart is being deployed **
The metric server has been deployed.
In a few minutes you should be able to list metrics using the following
command:
kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes"
查看pod,可以查看到metrics-server
,说明部署成功
[root@server1 metrics-server]# kubectl get pod -n metrics-server
NAME READY STATUS RESTARTS AGE
metrics-server-849cc8b4c7-bcwhh 1/1 Running 0 60s
获取信息
[root@server1 metrics-server]# kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes"
{"kind":"NodeMetricsList","apiVersion":"metrics.k8s.io/v1beta1","metadata":{},"items":[]}
查看节点cpu及mem信息
[root@server1 metrics-server]# kubectl top node --use-protocol-buffers
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
server1 209m 10% 1384Mi 72%
server2 104m 5% 677Mi 35%
server4 202m 10% 930Mi 48%
更多推荐
已为社区贡献14条内容
所有评论(0)