由于之前已经安装过kube-prometheus
k8s中已经存在grafana以下是基于 Kubernetes 环境部署 Loki 和 Promtail 的详细步骤,适配已存在 kube-prometheus-stack
(含 Grafana)的场景:
一、Loki 部署与配置
Helm 添加 Loki 仓库
helm repo add grafana https://grafana.github.io/helm-charts helm repo update
自定义 Loki 配置文件(
loki-values.yaml
)
示例配置(精简版,适配已有 Grafana):loki: auth_enabled: false # 禁用认证(若需安全可启用) commonConfig: replication_factor: 1 # 单节点部署 storage: type: 'filesystem' # 本地存储 singleBinary: replicas: 1
如果使用pvc存储:
- 先创建pvc:# loki-pvc.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: loki-storage namespace: monitoring spec: accessModes: - ReadWriteOnce storageClassName: alicloud-nas-subpath # 需与集群StorageClass匹配 resources: requests: storage: 50G
应用配置:
kubectl apply -f loki-pvc.yaml
配置Loki配置文件:
loki-values.yaml# loki-values.yaml persistence: enabled: true existingClaim: "loki-storage" # 引用已创建的PVC storageClassName: "alicloud-nas-subpath" size: 50Gi # 需与PVC声明一致 loki: config: storage_config: filesystem: chunks_directory: /data/loki/chunks rules_directory: /data/loki/rules
安装 Loki
helm upgrade --install loki grafana/loki-stack -n monitoring -f loki-values.yaml
等待安装结束
kubectl get po -n monitoring |grep loki
loki-0 1/1 Running 0 6d
loki-promtail-4gg97 1/1 Running 0 5d23h
loki-promtail-ptvv8 1/1 Running 0 5d23h
loki-promtail-w5scb 1/1 Running 0 5d23h
如果镜像无法下载,可以去手动位取镜像然后load到私有仓库或者把tag打到和配置一样的镜像标签。
二、Grafana 添加 Loki 数据源
进入 Grafana UI(通常通过
kube-prometheus-stack
的 Ingress 访问)。导航至 Configuration > Data Sources,添加 Loki:
URL:
http://loki.monitoring.svc.cluster.local:3100
保存后通过 Explore 查询日志
结果展示
最后推荐一个grafana官方的dashboards.
ID:13639
评论区