zoukankan      html  css  js  c++  java
  • Prometheus架构与实践分享 监控k8s-腾讯课堂

    https://www.sohu.com/a/342733264_198222

    整个集群的监控需要安装下面的组件

     组件直接通信通过kube-dns来进行通信

     

     

     

     服务发现:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config

    监控的时候我们不可能一个容器配置一个IP地址,我们需要引入服务发现的功能,普罗米修斯支持三种服务的发现功能 1、# 基于k8s的服务发现kubernetes_sd_configs:2、基于注册中心的zk,不支持Eureka

    部署方式:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/prometheus

    源码目录:kubernetes/cluster/addons/prometheus

    服务发现:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config

    在k8s的master上面安装普罗米修斯

    部署条件

    1、K8S中部署内部DNS服务

    2、已有可使用的动态PV 、或者使用静态PV

    1、下载github包:https://github.com/kubernetes/kubernetes/

    2、复制文件到指定目录

    mkdir ~/prometheus
    cp ~/kubernetes/cluster/addons/prometheus/* ~/prometheus/

    3、进入到目录

    cd ~/prometheus/

    4、k8s通过配置文件创建运行容器

    kubectl apply -f prometheus-rbac.yaml
    kubectl apply -f prometheus-configmap.yaml
    kubectl apply -f prometheus-statefulset.yaml
    kubectl apply -f prometheus-service.yaml 

    5、查看创建资源

    复制代码
    kubectl get pod,svc -n kube-system
    NAME                           READY   STATUS    RESTARTS   AGE
    pod/coredns-64479cf49b-lsqqn   1/1     Running   0          75m
    pod/prometheus-0               2/2     Running   0          2m12s
    
    NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
    service/kube-dns     ClusterIP   10.0.0.2     <none>        53/UDP,53/TCP,9153/TCP   75m
    service/prometheus   NodePort    10.0.0.170   <none>        9090:42575/TCP           8s
    复制代码

     上面部署是有顺序的,必须先部署rabc.yaml 必须安装上面的部署方式部署

    监控的组件指标如下:

    第一个指标:监控k8s master节点中api-service组件指标

     

     

     

     、可以查看整个k8s集群消耗的cpu的利用率

    1、查看整个k8s集群消耗的cpu 、内存等指标

     

     2、可以查看整个k8s集群中部署的全部pod的信息,可以安装pod消耗的cpu进行排序

     

     3、也可以查看某个节点上面部署的pod、容器的cpu和内存资源

     

    node监控也需要安装nodeexpoerter

     

     

     

     

     1、可以查看当前集群占用了多少主机的多少CPU、内存、磁盘空间等

     

     2、可以查看整个k8s集群下面deployment部署了多少应用

     

     3、可以查看整个k8s集群存在多少个node节点

     

     3、会查看当前k8s集群下面存在多少个pod

     

     4、当前k8s集群下面存在多少个容器,容器总的资源消耗了多少

     

     5、你也可以选择对于的namespace,查看某个具体的namespace下面部署了多少pod、多少容器,每个namespace对应的就是具体的某个应用,这样就可以查看某个应用部署在哪些k8s节点上,查看整个k8s集群的cpu、内存等指标,查看对于node的指标等

     

     部署alertManger

    1、可以依据集群cpu、nodecpu  node内存 podcpu 容器cpu进行预警

     

     

  • 相关阅读:
    Centos7运维(1)-为什么在centos7配置了静态IP不生效还是分配一个动态ip给我??
    docker 常用命令
    docker 安装
    centos6.8 修改yum安装镜像源
    开发自己的composer package
    修改mysql密码
    MySQL密码的恢复方法
    nginx配置文件说明
    天猫优惠券
    mysql的一些心得
  • 原文地址:https://www.cnblogs.com/kebibuluan/p/13257399.html
Copyright © 2011-2022 走看看