实验手册-20-集群监控-PrometheusOperator

  • 了解 Prometheus 监控工具的使用方法
  • 通过 Helm 部署 Prometheus 监控平台
  • 实现对 Kubernetes 集群的监控

步骤1 先创建一个名为 prometheus 的命名空间,用来隔离本节课创建的资源:

bash

kubectl create namespace prometheus

创建一个文件夹用来存放本节课的文件

bash

mkdir prometheus
cd prometheus

步骤2 增加 Helm 的 Charts 源

bash

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

出现下图结果代表安装成功

步骤3 更新 Helm 源

bash

helm repo update

升级成功后会有如下提示:

步骤4 下载 Prometheus 的软件包

bash

helm pull prometheus-community/kube-prometheus-stack

下载完成后,可以在当前目录发现一个压缩包:

步骤5 将压缩包解压

bash

tar xvf kube-prometheus-stack-52.1.0.tgz

步骤6 安装 Prometheus

bash

helm install prometheus kube-prometheus-stack -n prometheus

安装成功后,会有如下提示,注意提示中的 NOTES 给出了一条命令

步骤7 验证

执行上面提到的这条命令,可以查看 Prometheus 是否安装成功

bash

kubectl --namespace prometheus get pods -l "release=prometheus"

如下图所示,代表安装成功

步骤8 修改以下服务的类型为 NodePort

  • prometheus-grafana
  • prometheus-kube-prometheus-alertmanager
  • prometheus-kube-prometheus-prometheus

使用的命名为,将 xxx 换成 Service 的名字

bash

kubectl edit service -n prometheus xxx

修改完成后,验证一下

bash

kubectl get service -n prometheus

步骤9 打开浏览器,输入网址:http://192.168.192.215:30945

注意把 IP 和 端口号换成你自己的,其中端口号是 prometheus-grafana 服务的端口号

登录的用户名和密码:

  • 用户名:admin
  • 密码:prom-operator

登录后如下图所示:

加载配置文件(kubectl apply 或者 dashboard)

bash

apiVersion: v1
kind: ReplicationController
metadata:
  name: mysql
spec:
  replicas: 1
  selector:
    app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - name: mysql
        image: mysql:5.6
        ports:
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "123456"

步骤1 检索 Charts

bash

helm search repo prometheus-mysql-exporter

步骤2 下载 Charts

bash

helm pull prometheus-community/prometheus-mysql-exporter

步骤3 解压 Charts

bash

tar xvf prometheus-mysql-exporter-2.1.0.tgz

步骤4 修改 values.yaml 配置文件,填写数据库信息

步骤5 安装

bash

helm install prometheus-mysql-exporter prometheus-mysql-exporter/ -n prometheus

bash

kubectl edit service -n prometheus prometheus-mysql-exporter