在Kubernetes集群中,Metrics-Server 和 Dashboard 是两种重要的资源监控工具,分别提供了API层面的资源使用统计和Web界面形式的可视化展示。
安装Metrics-Server
Metrics-Server 是 Kubernetes 集群的核心监控数据聚合器,用于收集和聚合每个Pod和Node的CPU和内存使用量。以下是安装 Metrics-Server 的实战步骤:
-
下载资源清单文件:
- 访问 Metrics-Server 的 GitHub 仓库(https://github.com/kubernetes-sigs/metrics-server/releases)找到最新版的 release 页面。
- 下载对应的资源清单 YAML 文件,例如:
metrics-server.yaml
或metrics-server-vX.Y.Z.yaml
。
-
部署 Metrics-Server:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/metrics-server/release-X.Y.Z/deploy/manifests/base/metrics-server.yaml
或者,如果您已经下载了本地文件:
kubectl apply -f ./metrics-server.yaml
-
验证安装:
kubectl get deployment -n kube-system metrics-server kubectl get pods -n kube-system -l k8s-app=metrics-server
使用 Metrics-Server 监控资源
安装完成后,Kubernetes 中的其他组件(如Horizontal Pod Autoscaler)就可以利用 Metrics-Server 提供的数据来进行决策。您也可以使用 kubectl top
命令查看资源使用情况:
kubectl top nodes
kubectl top pods --all-namespaces
安装Kubernetes Dashboard
Kubernetes Dashboard 提供了直观的 Web UI,便于集群管理员和开发人员监控和管理集群。
-
下载 Dashboard 的资源清单文件:
- 通常可以从 Kubernetes 官方仓库或第三方镜像仓库下载,或直接从 GitHub 上的 Kubernetes Dashboard 项目获取。
-
部署 Kubernetes Dashboard:
# 下载并部署最新的 Dashboard 资源清单 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.X.X/aio/deploy/recommended.yaml
或者,如果是较早版本的 Dashboard,可能需要创建一个 Service Account 并分配适当的角色绑定,然后再部署 Dashboard。
-
访问 Dashboard:
-
默认情况下,Dashboard 不对外开放。为了安全起见,您通常需要创建一个 proxy 到 Dashboard 的端口:
kubectl proxy
-
然后在浏览器中访问:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
。 -
如果集群启用了 RBAC,还需要创建一个用于登录 Dashboard 的 token,并将其附加到 Service Account 上,或者使用其他身份验证方法(如kubeconfig文件)。
-
注意
- 请确保您的集群版本与 Metrics-Server 和 Dashboard 版本兼容。
- 为了安全起见,在生产环境中建议对 Kubernetes Dashboard 进行严格的访问控制,如限制 IP 地址范围或使用令牌认证。
- 对于较新的 Kubernetes 版本,可能需要启用或配置 Metrics API 的准入控制器(如
--enable-admission-plugins=...,...,MetricsResourceAllocation
)来支持 Metrics-Server 的数据集成到 Kubernetes 内核中。