kubeadm安装kubernetes1.16.0(三-配置安装Prometheus+Grafana)

岁酱吖の 提交于 2019-11-30 18:10:11
  1. 前期准备
  • 安装git
[root@node1 ~]# yum install git
  • 下载Prometheus+Grafana的yaml配置文件
git clone https://github.com/redhatxl/k8s-prometheus-grafana.git
  1. 安装Prometheus+Grafana
  • daemonset方式部署node-exporter组件
[root@node1 ~]# cd k8s-prometheus-grafana/
[root@node1 k8s-prometheus-grafana]# kubectl  apply  -f node-exporter.yaml


k8s从1.16开始,ApiVersion版本不再是beta版本,成为正式版,所以需要修改api的版本,否则k8s就会报错
还有一个问题就是Deployment,daemonSet等控制器的spec里面必须要和selector的参数相匹配,否则也会报错,缺少selector所需参数
修改如下

  • 部署prometheus组件
[root@node1 ~]# kubectl create -f  k8s-prometheus-grafana/prometheus/rbac-setup.yaml
[root@node1 ~]# kubectl create -f  k8s-prometheus-grafana/prometheus/configmap.yaml
[root@node1 ~]# kubectl create -f  k8s-prometheus-grafana/prometheus/prometheus.deploy.yml
[root@node1 ~]# kubectl create -f  k8s-prometheus-grafana/prometheus/prometheus.svc.yml

  • 部署grafana组件
[root@node1 ~]# kubectl create -f   k8s-prometheus-grafana/grafana/grafana-deploy.yaml
[root@node1 ~]# kubectl create -f   k8s-prometheus-grafana/grafana/grafana-svc.yaml
[root@node1 ~]# kubectl create -f   k8s-prometheus-grafana/grafana/grafana-ing.yaml

  • 存在的问题
    由于coredns解析有问题,导致Prometheus的服务连接不上kubernetes的443管理端口,暂时修改为kubernetes的固定地址

    修改后如下

    Prometheus暂时显示正常

    其中Prometheus显示node-exporter的pods显示要在daemonSet下添加注解
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
  namespace: kube-system
  labels:
    k8s-app: node-exporter
spec:
  selector:
    matchLabels:
      k8s-app: node-exporter
  template:
    metadata:
      annotations: #new
        prometheus.io/scrape: 'true' #new
        prometheus.io/port: '9100' #new
        prometheus.io/path: '/metrics' #new
      labels:
        k8s-app: node-exporter
    spec:
      containers:
      - image: prom/node-exporter
        name: node-exporter
        ports:
        - containerPort: 9100
          protocol: TCP
          name: http
---
apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: node-exporter
  name: node-exporter
  namespace: kube-system
spec:
  ports:
  - name: http
    port: 9100
    nodePort: 31672
    protocol: TCP
  type: NodePort
  selector:
    k8s-app: node-exporter
  • grafana新增一个Template即可,下载地址在这里
  • 在配置DataSource也需要注意,coredns的问题,需要指定Prometheus的service地址
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!