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
这个页面对您有帮助吗?
有用
有用
无用
无用