搭建k8s集群的可观测体系(log和metric)(已踩完坑)

发布于:2025-03-30 ⋅ 阅读:(76) ⋅ 点赞:(0)

Loki是日志聚合系统,属于云原生技术,由Grafana Labs开发。它专注于轻量级和高效的日志管理,特别是适合Kubernetes环境。而Prometheus-operator则是用来管理Prometheus监控系统的,简化部署和配置,处理监控数据,尤其是指标(metrics)的收集和告警。
本片文档踩坑结束,使用loki-stack搭建log体系,使用prometheus-operator搭建metric体系。

1,安装loki-stack

参考:https://github.com/grafana/helm-charts/tree/main/charts/loki-stack

1.1, 查看集群状态

kubectl cluster-info 

预期输出:显示控制平面和CoreDNS服务地址,无报错。
请添加图片描述

1.2 验证NFS服务器连通性

在Kubernetes节点上测试NFS共享目录挂载

mkdir -p /mnt/nfs-test
mount -t nfs 192.168.237.151:/shared /mnt/nfs-test
echo "test" > /mnt/nfs-test/testfile
umount /mnt/nfs-test

验证点:

  • 挂载成功且文件可读写
  • NFS服务器 /shared 目录下出现 testfile

1.3 安装NFS Provisioner

使用NFS Provisioner创建storage class

1.3.1 添加NFS Provisioner Helm仓库

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner
helm repo update

1.3.2 安装NFS Provisioner

helm upgrade --install nfs-provisioner \
  nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
  --set nfs.server=192.168.237.151 \
  --set nfs.path=/shared \
  --set storageClass.name=nfs-storage-loki \
  --namespace loki-stack --create-namespace

验证安装状态:

kubectl get pods -n loki-stack -l app=nfs-subdir-external-provisioner

验证StorageClass创建:

kubectl get storageclass

1.4 安装Loki-Stack

1.4.1 创建自定义Values文件(loki-nfs-values.yaml)

promtail:
  enabled: true
  config:
    clients:
      - url: http://loki:3100/loki/api/v1/push

loki:
  enabled: true
  persistence:
    enabled: true
    storageClassName: 

网站公告

今日签到

点亮在社区的每一天
去签到