You need to enable JavaScript to run this app.
文档中心
托管 Prometheus

托管 Prometheus

复制全文
下载 pdf
自建 Grafana
在容器服务集群中部署 Grafana 并接入工作区
复制全文
下载 pdf
在容器服务集群中部署 Grafana 并接入工作区
Grafana 是一个跨平台的开源的度量分析和可视化工具,支持将采集的数据进行可视化查询和展示。本文为您介绍如何在集群中搭建 Grafana 并对接工作区。
背景信息
您可以在容器服务 VKE 集群中使用开源镜像或部署脚本搭建 Grafana,两者的主要区别如下。
部署方式
认证方式
数据接入
说明
开源镜像
BasicAuth
未接入工作区,需要手动接入。
支持灵活的版本选择,建议在大多数场景下使用。
部署脚本
BasicAuth、火山引擎 AK/SK
已接入工作区。
支持灵活的认证方式,当需要使用 AK/SK 认证时首选。
前提条件
  • 已创建托管 Prometheus 工作区,并开启 BasicAuth 认证。详情请参见 创建工作区
  • 已创建容器服务集群,并绑定托管 Prometheus 工作区。详情请参见 容器服务接入
  • 已通过 kubectl 连接目标集群,详情请参见 连接集群
  • 使用脚本部署 Grafana 时,需要使用本地环境(Linux/Mac)中的 wget、echo、curl 和 sed 工具,请保证您的系统中已经正确安装上述命令行工具。
操作步骤
说明
本文仅简单介绍了在容器服务集群中部署 Grafana 的方法,未涉及高可用性配置。如有高可用性需求,需要使用外部的数据库(MySQL 或 Postgres)代替 Grafana 自带的嵌入式 sqlite3 数据库。详情请参见 官方文档
步骤一:使用开源镜像搭建 Grafana
  1. 在顶部导航栏,选择您业务所在地域。
  1. 在左侧导航栏单击 集群,单击目标集群名称,进入集群控制台。
  1. 在左侧导航栏中,选择 工作负载 > 对象浏览器。 单击 使用 Yaml 创建,创建存储类。
  • 类型 下拉菜单中选择 自定义
  • Yaml 配置框内输入 Yaml 配置。
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ebs-essd
parameters:
ChargeType: PostPaid
type: ESSD_PL0 # 云盘类型,云盘的名称必须大写
zone: cn-beijing-a # 云盘可用区
provisioner: ebs.csi.volcengine.com
reclaimPolicy: Delete # 回收策略
volumeBindingMode: Immediate # 存储卷绑定模式
  1. 在左侧导航栏中,选择 工作负载 > 对象浏览器。 单击 使用 Yaml 创建,创建存储卷声明。
  • 类型 下拉菜单中选择 自定义
  • Yaml 配置框内输入 Yaml 配置。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grafana-pvc
namespace: volcano-metrics # 存储卷声明所在的命名空间。
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi # 存储容量
storageClassName: ebs-essd # 已创建的存储类名称
volumeMode: Filesystem
  1. 在左侧导航栏中,选择 工作负载 > 无状态负载,单击 使用 Yaml 创建,创建 Grafana 工作负载。
apiVersion: apps/v1
kind: Deployment
metadata:
name: grafana-demo # Grafana 实例名称
namespace: volcano-metrics # 工作负载所在的命名空间
spec:
replicas: 1 # Grafana 实例的副本数。由于本例中使用 PVC 来实现持久化配置,因此这里只能是单副本
strategy:
type: Recreate
selector:
matchLabels:
app: grafana
template:
metadata:
labels:
app: grafana
spec:
securityContext:
fsGroup: 472
supplementalGroups:
- 0
containers:
- name: grafana # 容器名称
image: grafana/grafana:latest # 使用 Docker Hub 中的开源镜像和最新版本
ports:
- containerPort: 3000 # 容器开放的端口号
resources:
requests: # 指定最小资源需求
cpu: "250m"
memory: "750Mi"
limits: # 指定资源上限
cpu: "1"
memory: "2Gi"
volumeMounts: # 挂载存储卷
- name: grafana-pv
mountPath: /var/lib/grafana
volumes:
- name: grafana-pv # 添加存储卷
persistentVolumeClaim:
claimName: grafana-pvc
  1. 在左侧导航栏中,选择 服务与路由 > 服务,单击 使用 Yaml 创建,创建 Grafana 服务。
apiVersion: v1
kind: Service
metadata:
name: grafana # 服务的名称
namespace: volcano-metrics # 服务所在的命名空间
spec:
selector:
app: grafana # 通过标签选择器将服务与后端容器组(Pod)绑定
ports:
- name: rule # 端口映射规则名称
protocol: TCP # 服务协议
port: 3000 # 服务端口
targetPort: 3000 # 容器端口,即工作负载对外开放的端口
type: ClusterIP # 服务的类型
步骤二:接入工作区数据源
  1. 执行以下命令,配置 Grafana 端口映射。
kubectl port-forward service/grafana 3000:3000 -n volcano-metrics
  1. 在本地环境(Linux/Mac)中打开浏览器,在地址栏中输入 localhost:3000,进入 Grafana 登录界面,使用默认用户名admin和密码admin登录。
  1. 在左侧导航栏中,选择 Connection > Data Sources
  • alt
  1. 单击 Add data source,创建新的数据源。
  • alt
  1. 在 Add data source 页面中,单击 Prometheus
  • alt
  1. 在 HTTP 配置项中,URL 字段处,粘贴工作区的 Query URL 地址。
  • alt
  1. 在 Auth 配置项中,开启 Basic auth 认证,并在 Basic Auth Details 配置项中,配置工作区认证使用的用户名和密码。
  • alt
  1. 单击页面底部的 Save & Test,系统显示 Successfully queried the Prometheus API,表示工作区已经正确接入 Grafana。
  • alt
步骤三:创建大盘
  1. 在左侧导航栏中,选择 Dashboards
  • alt
  1. 单击 New,创建或导入观测大盘。
  • alt
步骤四:查看大盘
  1. 在左侧导航栏中,选择 Dashboards
  1. 单击进入已经创建的大盘,可以查看到正确的监控信息。
  • alt
其他
使用部署脚本部署 Grafana
默认规格
使用脚本部署 Grafana 时,默认的实例规格如下表所示。
实例名称
默认 CPU 请求值
默认内存请求值
默认 CPU 上限值
默认内存上限值
grafana
0.2 Core
512 MiB
1 Core
1 GiB
部署 Grafana(默认配置)
注意
使用脚本部署的 Grafana 不支持修改或添加认证方式,请您部署前明确使用 AK/SK 认证或者 Baisc Auth 认证。如果部署后需要修改认证方式,需要首先删除已部署的 Grafana,并使用新的认证方式重新部署。详情请参见 使用部署脚本删除 Grafana
您可以使用部署脚本,快速部署 Grafana。当采用默认配置部署时,操作步骤如下:
  1. 在本地环境中下载脚本,详情请参见 获取脚本
  1. 使用 kubectl 正确连接集群。
  1. 执行以下命令,部署 Grafana。
./install.sh install-grafana \
--region cn-beijing \ # 托管 Prometheus 工作区所在地域
--namespace volcano-metrics \ # 部署 Grafana 的命名空间
--query-url http://query.prometheus-cn-beijing.ivolces.com/workspaces/xxx \ # 托管 Prometheus 工作区的 Query URL 地址
--access-key TDOSNQG*** \ # 火山引擎账号的 AK
--secret-key YvT3ing*** # 火山引擎账号的 SK
说明
本文以 AK/SK 认证为示例,如果您需要使用 Basic Auth 认证,需要将--access-key--secret-key参数修改为--basic-auth-username--basic-auth-password,详情请参见 部署脚本使用帮助
部署 Grafana(挂载 PVC)
您可以在 Grafana 中挂载 PVC ,实现永久存储。操作步骤如下:
  1. 在本地环境中下载脚本,详情请参见 获取脚本
  1. 使用 kubectl 正确连接集群。
  1. 执行以下命令,部署 Grafana 并挂载 PVC。
./install.sh install-grafana \
--region cn-beijing \ # 托管 Prometheus 工作区所在地域
--namespace volcano-metrics \ # 部署 Grafana 的命名空间
--query-url http://query.prometheus-cn-beijing.ivolces.com/workspaces/xxx \ # 托管 Prometheus 工作区的 Query URL 地址
--access-key TDOSNQG*** \ # 火山引擎账号的 AK
--secret-key YvT3ing*** # 火山引擎账号的 SK
--storage-class ebs-ssd \ # 挂载存储卷(SC)的类型
--grafana-pvc-capacity 20Gi # 挂载存储卷声明(PVC)的大小
说明
本文以 AK/SK 认证为示例,如果您需要使用 Basic Auth 认证,需要将--access-key--secret-key参数修改为--basic-auth-username--basic-auth-password,详情请参见 部署脚本使用帮助
使用部署脚本删除 Grafana
当 Grafana 的配置错误或不符合要求时,可以使用脚本删除已部署的 Grafana。
  1. 使用 kubectl 正确连接集群。
  1. 执行以下命令,删除已部署的 Grafana。
./install.sh uninstall-grafana \
--region cn-beijing # 托管 Prometheus 工作区所在地域
部署脚本使用帮助
您可以通过安装脚本的 --help 参数,查看脚本中所有的预定义字段和含义。
./install.sh install-grafana --help
安装脚本中不同字段的含义和示例如下。
$ ./install.sh install-grafana --help
install grafana
Usage: install.sh install-grafana [flag...]
Flag:
{{flag}} {{current val if exist}}
--query-url http://query.prometheus-cn-beijing.com/workspace/xxx
--basic-auth-username username-demo
--basic-auth-password password-demo
--access-key TDOSNQG***
--secret-key YvT3ing***
--region cn-beijing
--exec-script-env local
--rendering-only
--namespace volcano-metrics
--storage-class ebs-ssd
--grafana-pvc-capacity 20Gi
参数
说明
--query-url
工作区的 Query 地址,详情请参见 获取工作区地址
--basic-auth-username
工作区 Basic Auth 认证模式下的认证用户名。
--basic-auth-password
工作区 Basic Auth 认证模式下的认证密码。
--access-key
工作区 AK/SK 认证模式下使用的 AccessKey ID。
--secret-key
工作区 AK/SK 认证模式下使用的 AccessKey Secret。
--region
工作区所在地域,例如:cn-beijing。
--exec-script-env
部署脚本执行环境,包括:
  • local: 本地环境。表示您在本地环境中执行该脚本。
  • public-cloud-vpc:VPC 环境。表示您在 VPC 环境中执行该脚本。
--rendering-only
仅查看 Grafana 安装清单,不实际安装。
--namespace
部署 Grafana 的命名空间。如果您未配置该参数,则缺省部署在 volcano-metrics 命名空间中。
--storage-class
Grafana 挂载的 PVC 类型。
--grafana-pvc-capacity
Grafana 挂载的 PVC 容量大小。整数形式,单位为 Gi。例如:20Gi 表示挂载的存储大小为 20GB。
最近更新时间:2025.06.13 14:10:53
这个页面对您有帮助吗?
有用
有用
无用
无用