Kubernetes(K8s)作为现代云原生架构的核心,已经成为容器化时代不可或缺的组件。随着K8s集群的规模和复杂性不断增加,有效监控与管理集群变得至关重要。本文将介绍一款强大的工具——Kubernetes Dashboard,帮助您轻松监控与管理K8s集群,一窥容器化时代的可视化奥秘。

Kubernetes Dashboard简介

Kubernetes Dashboard是一个基于Web的用户界面,它提供了丰富的功能,帮助用户高效地管理和监控K8s集群。通过Dashboard,用户可以直观地查看集群资源、应用状态、日志信息等,并执行各种操作,如创建、删除、更新和配置资源。

Dashboard的功能特点

  1. 资源概览:提供集群资源、节点、命名空间、工作负载等概览信息。
  2. 资源管理:支持创建、编辑、删除和管理各种K8s资源,如Pod、Service、Ingress等。
  3. 日志查看:允许用户查看Pod日志,进行故障排查。
  4. 监控图表:提供实时监控图表,展示资源使用情况和性能指标。
  5. 告警管理:支持配置告警规则,当资源使用达到阈值时,自动发送告警通知。

安装Kubernetes Dashboard

要使用Kubernetes Dashboard,首先需要确保K8s集群已经搭建完成。以下是在K8s集群中安装Dashboard的步骤:

    获取Dashboard资源文件

    wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
    

    修改资源文件: 打开recommended.yaml文件,找到以下配置段,并修改typeNodePort,以便将Dashboard服务暴露到集群外部。

   apiVersion: v1
   kind: Service
   metadata:
     name: kubernetes-dashboard
     namespace: kubernetes-dashboard
   spec:
     type: NodePort
     ports:
     - port: 443
       targetPort: 8443
       nodePort: 30100

    应用资源文件

    kubectl apply -f recommended.yaml
    

    获取Dashboard访问地址: 使用以下命令获取Dashboard的访问地址:

    kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}') -o jsonpath='{.data.token}' | base --decode; echo
    

    访问Dashboard: 使用浏览器访问以下地址,并使用获取到的Token进行登录:

    https://<your-node-ip>:<node-port>
    

使用Kubernetes Dashboard

登录Dashboard后,您将看到以下界面:

  1. 概览:展示集群资源、节点、命名空间、工作负载等概览信息。
  2. 工作负载:查看和管理Pod、Deployment、ReplicaSet等资源。
  3. 服务:查看和管理Service、Ingress等资源。
  4. 配置:管理命名空间、存储类、网络策略等资源。
  5. 日志:查看Pod日志。
  6. 监控:查看资源使用情况和性能指标。

通过Kubernetes Dashboard,您可以轻松地监控与管理K8s集群,从而更好地应对容器化时代的挑战。