• 049.Kubernetes集群管理-集群监控Metrics


    一 集群监控

    1.1 Metrics

    Kubernetes的早期版本依靠Heapster来实现完整的性能数据采集和监控功能,Kubernetes从1.8版本开始,性能数据开始以Metrics API的方式提供标准化接口,并且从1.10版本开始将Heapster替换为Metrics Server。在Kubernetes新的监控体系中,Metrics Server用于提供核心指标(Core Metrics),包括Node、Pod的CPU和内存使用指标。
    对其他自定义指标(Custom Metrics)的监控则由Prometheus等组件来完成。

    二 Metrics部署

    2.1 开启聚合层

    有关聚合层知识参考:https://blog.csdn.net/liukuan73/article/details/81352637
    [root@k8smaster01 ~]# ll /etc/kubernetes/pki/
    ……
    -rw-r--r-- 1 root root 1.1K Dec 2 21:21 front-proxy-client.crt
    -rw------- 1 root root 1.7K Dec 2 21:21 front-proxy-client.key
    -rw-r--r-- 1 root root 1.1K Dec 2 21:21 front-proxy-ca.crt
    ……
    [root@k8smaster01 study]# vi /etc/kubernetes/manifests/kube-apiserver.yaml
      1 ……
      2     - --runtime-config=api/all=true
      3     - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
      4     - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
      5     - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      6     - --requestheader-allowed-names=front-proxy-client
      7     - --requestheader-extra-headers-prefix=X-Remote-Extra-
      8     - --requestheader-group-headers=X-Remote-Group
      9     - --requestheader-username-headers=X-Remote-User"
     10 ……
     11 
    [root@k8smaster01 study]# systemctl restart kubelet.service
    提示:所有master节点如上修改为kubeadm部署的Kubernetes中操作,其他部署类似,修改kube-apiserver配置文件即可。

    2.2 获取部署文件

    [root@k8smaster01 study]# git clone https://github.com/kubernetes-incubator/metrics-server.git

    2.3 修改相应文件

    [root@k8smaster01 ~]# cd metrics-server/deploy/1.8+/
    [root@k8smaster01 1.8+]# vi metrics-server-deployment.yaml
      1 ……
      2         image: mirrorgooglecontainers/metrics-server-amd64:v0.3.6	#修改为国内源
      3         command:
      4         - /metrics-server
      5         - --metric-resolution=30s
      6         - --kubelet-insecure-tls
      7         - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP	#添加如上command
      8 ……
      9 

    2.4 正式部署

    [root@k8smaster01 1.8+]# kubectl apply -f .
    [root@k8smaster01 1.8+]# kubectl -n kube-system get pods -l k8s-app=metrics-server
    NAME READY STATUS RESTARTS AGE
    metrics-server-68646b6dd9-lktrb 1/1 Running 0 3m14s
    [root@k8smaster01 1.8+]# kubectl -n kube-system logs -l k8s-app=metrics-server -f #查看日志

    2.5 查看资源监控

    [root@k8smaster01 ~]# kubectl top nodes
    [root@k8smaster01 ~]# kubectl top pods --all-namespaces
    clipboard
    提示:Metrics Server提供的数据也可以供HPA控制器使用,以实现基于CPU使用率或内存使用值的Pod自动扩缩容功能。
    部署参考:https://linux48.com/container/2019-11-13-metrics-server.html
    有关metrics更多部署参考:
    https://kubernetes.io/docs/tasks/debug-application-cluster/resource-metrics-pipeline/
    开启开启API Aggregation参考:
    https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/
    API Aggregation介绍参考:
    https://kubernetes.io/docs/tasks/access-kubernetes-api/configure-aggregation-layer/

    三 Prometheus+Grafana

    3.1 Prometheus+Grafana监控方案

    参考《050.集群管理-Prometheus+Grafana监控方案》
  • 相关阅读:
    关于silverlight打印模糊的问题
    Microsoft Office Excel 不能访问文件及COM无法访问
    IE8 下 select option 内容过长 , 展开时信息显示不全解决办法
    如何用css做一个细虚线边框表格
    DIV 垂直 垂直水平 居中
    Ul li 横排 菜单
    对原生js的一些小尝试
    Nodejs学习笔记——Assert(断言)
    Octopress创建GitHub Pages——基于代码托管的静态博客
    JS倒计时器一只,顺便复习javascript时间相关函数
  • 原文地址:https://www.cnblogs.com/itzgr/p/12672557.html
Copyright © 2020-2023  润新知