第二章:安装监控组件

安装监控组件

本文将介绍使用 Helm 安装监控组件 Prometheus,Loki,Alertmanager 和 Grafana。

前置条件

基础环境

  • Kubernetes 集群已经部署好,并且 kubectl 已经安装。
  • Helm 已经安装。
  • 为 Prometheus、Loki、Alertmanager 和 Grafana 创建了一个 Kubernetes 命名空间。

数据持久化

考虑到监控数据需要持久化,我们使用 NFS 作为 存储类StorageClass

  1. 安装 nfs 服务软件包
sudo yum -y install nfs-utils
  1. 修改 nfs 配置文件
# 文件路径 /etc/exports
sudo vim /etc/exports 
/home/centos/nfs        *(rw,sync,no_subtree_check)

# 保存退出
:wq
  1. 启动 nfs 服务
sudo systemctl start rpcbind 
sudo systemctl start nfs-server
  1. 开机自启动
sudo systemctl enable rpcbind 
sudo systemctl enable nfs-server

说明

  • 其中,/home/centos/nfs 为共享目录,
  • * 表示允许所有客户端访问
  • rw 表示可读可写
  • sync 表示同步写入
  • no_subtree_check 表示禁用子目录检查。

安装存储类

Kubernetes 不包含内部 NFS 驱动。你需要使用外部驱动为 NFS 创建 StorageClass,我们选择 NFS subdir 外部驱动
安装

  • 官方地址:https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
  • 国内地址:https://gitee.com/Julian_cn/nfs-subdir-external-provisioner
    在这里插入图片描述
    说明:仅需要这三个文件即可
  1. 下载代码
git clone https://gitee.com/Julian_cn/nfs-subdir-external-provisioner
  1. 进入安装目录
cd nfs-subdir-external-provisioner/deploy 
  1. 修改文件
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nfs-client-provisioner
  labels:
    app: nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: default
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: nfs-client-provisioner
  template:
    metadata:
      labels:
        app: nfs-client-provisioner
    spec:
      serviceAccountName: nfs-client-provisioner
      containers:
        - name: nfs-client-provisioner
          # image 地址修改为国内地址: docker hub 上有很多, 选择一个即可
          image: dyrnq/nfs-subdir-external-provisioner:v4.0.2
          volumeMounts:
            - name: nfs-client-root
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: k8s-sigs.io/nfs-subdir-external-provisioner
            # 修改为你的 NFS 服务地址
            - name: NFS_SERVER
              value: 10.0.16.16
            # 修改为对应的路径
            - name: NFS_PATH
              value: /home/centos/nfs
      volumes:
        - name: nfs-client-root
          nfs:
            # 修改对应的配置
            server: 10.0.16.16
            path: /home/centos/nfs
  1. 安装
kubectl apply -f deployment.yaml 
kubectl apply -f rbac.yaml 
kubeclt apply -f class.yaml
  1. 检查 StorageClass
kubectl get sc
  1. 修改默认的存储类
# 首先需要取消默认存储类 local-path 为存储类名称
kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'

# 设置默认的存储类
kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

安装 Prometheus

  1. 添加 Prometheus Helm 仓库:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
  1. 安装 Prometheus:
helm install prometheus prometheus-community/kube-prometheus-stack -n monitor

说明:如需要开启持久化存储需要修改配置, 以下服务配置同理

persistence:
  # 开启持久存储
  enabled: true

安装 Loki

  1. 添加 Loki Helm 仓库:
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
  1. 安装 Loki:
helm install loki grafana/loki-stack -n monitor

安装 Alertmanager

  1. 添加 Alertmanager Helm 仓库:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
  1. 安装 Alertmanager:
helm install alertmanager prometheus-community/kube-prometheus-stack --set alertmanager.enabled=true -n monitor

安装 Grafana

  1. 添加 Grafana Helm 仓库:
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
  1. 安装 Grafana:
helm install grafana grafana/grafana -n monitor

配置 Grafana 数据源

在 Grafana 中添加 Prometheus 和 Loki 数据源,以便可以将监控数据可视化。

  1. 登录 Grafana 管理界面:http://:3000/。

  2. 在左侧菜单中选择“Configuration”->“Data Sources”。

  3. 点击“Add data source”,选择“Prometheus”或“Loki”。

  4. 配置数据源的 URL、命名空间等信息,保存并测试连接。
    在这里插入图片描述
    在这里插入图片描述

总结

本文介绍了使用 Helm 安装监控组件 Prometheus,Loki,Alertmanager 和 Grafana 的方法,并简要介绍了如何配置 Grafana 数据源。使用该监控系统,您可以实时监控系统的健康状况,并及时发现和解决问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值