Kubernetes(k8s):部署、使用 metrics-server
一、metrics-server简介二、部署metrics-server2.1、 下载 Metrics Server 部署文件2.2、修改metrics-server.yaml 文件2.3、 部署 Metrics Server2.4、 检查 Metrics Server 三、使用 Metrics Server3.1、 查看节点使用情况3.2、查看命名空间中所有容器的使用情况
?The Begin?点点关注,收藏不迷路? |
基于Kubernetes 集群,并已经安装并配置好 kubectl 工具。
一、metrics-server简介
Metrics Server 可以帮助我们监控集群中节点和容器的资源使用情况。
在本篇 CSDN 博客中,我将详细介绍如何部署 Metrics Server 到 Kubernetes 集群中。
工作流程说明:
1、用户执行 kubectl top 命令,向 Metrics Server 发送查询请求。
2、Metrics Server 接收到查询请求后,向 kubelet/cAdvisor 发送请求获取容器的资源使用情况数据。
3、kubelet/cAdvisor 是运行在每个节点上的组件,负责收集和暴露容器的资源使用情况数据。它收到 Metrics Server 的请求后,查询本地 cAdvisor,并收集相应的数据。
4、kubelet/cAdvisor 将收集到的数据返回给 Metrics Server。
5、Metrics Server 对收集到的数据进行处理,并将处理后的结果返回给用户,用户可以通过命令行工具或其他监控工具查看容器的资源使用情况。
二、部署metrics-server
2.1、 下载 Metrics Server 部署文件
Kubernetes Metrics Server 的版本与 Kubernetes 版本之间的兼容性矩阵:
从 Metrics Server 的 GitHub 仓库下载部署文件。执行以下命令:
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.7.1/components.yaml##将文件名更改为 metrics-server.yamlmv components.yaml metrics-server.yaml
2.2、修改metrics-server.yaml 文件
containers:- args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-preferred-address-types=InternalIP # 第一处修改 - --kubelet-use-node-status-port - --metric-resolution=15s - --kubelet-insecure-tls # 第二处修改 image: registry.aliyuncs.com/google_containers/metrics-server:v0.7.1 # 第三处修改 imagePullPolicy: IfNotPresent
1、将 --kubelet-preferred-address-types 参数的值修改为 InternalIP
,这表示 Metrics Server 将首选使用节点的 InternalIP 地址与 Kubelet 进行通信。
2、添加 --kubelet-insecure-tls 参数
,这表示 Metrics Server 将使用不安全的 TLS 连接与 Kubelet 通信。请注意,这会降低通信的安全性,只应该在测试环境中使用。
3、将 image 字段的值修改为 registry.aliyuncs.com/google_containers/metrics-server:v0.7.1
,这表示使用阿里云容器镜像服务中的 Metrics Server v0.7.1 版本。
2.3、 部署 Metrics Server
部署 Metrics Server 到你的 Kubernetes 集群中。
[root@k8s-master ~]# kubectl apply -f metrics-server.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[root@k8s-master ~]#
2.4、 检查 Metrics Server
在一段时间后通过运行 kubectl get pods -n kube-system 命令来检查 Metrics Server 是否成功启动并运行。
kubectl get pods -n kube-system 或者##获取到具有标签 k8s-app=metrics-server 的 pods 列表kubectl get pods -n kube-system -l k8s-app=metrics-server
三、使用 Metrics Server
Metrics Server 部署完成后,你就可以开始使用它了。
Metrics Server 会收集关于集群资源使用情况的指标数据,你可以使用 kubectl top 命令查看节点和容器的使用情况:
3.1、 查看节点使用情况
kubectl top nodes
3.2、查看命名空间中所有容器的使用情况
kubectl top pods -n <namespace>kubectl top pods -n kube-system
?The End?点点关注,收藏不迷路? |