• k8s-7部署kube-state-metrics监控组件


    k8s-7部署kube-state-metrics监控组件

    采用文章大佬–为了提高自己的k8s熟练,按照这位大佬的文章做了一遍

    https://www.yuque.com/cuiliang-s1qrv/k8s/yyiswl
    
    • 1

    image-20220729152412645

    一、metrics-server(HPA)

    1. 版本说明

    https://github.com/kubernetes-sigs/metrics-server
    
    • 1

    2. Aggregator开启

    这个是k8s在1.7的新特性,如果是1.16版本的可以不用添加,1.17以后要添加。这个参数的作用是Aggregation允许在不修改Kubernetes核心代码的同时扩展Kubernetes API。

    • 查询是否开启:
    master机器:ps -ef |grep apiserver|grep 'enable-aggregator-routing=true'
    
    • 1
    • 开启方法:要在master机器上执行
    vim /etc/kubernetes/manifests/kube-apiserver.yaml
    
    - command:
        - kube-apiserver
        …………
        - --enable-aggregator-routing=true  //加入这一行
    # 保存后apiserver会自动重启
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    image-20220729152751753

    我这里报错了,就没有修改这个文件
    image-20220729153004611

    3. 部署

    1. 下载yaml文件
    wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
    
    • 1
    1. 修改配置
      image-20220729153236063
    vim components.yaml
    #自定义添加--kubelet-insecure-tls 跳过 TLS 认证,否则会出现 x509 的认证问题
    #自定义添加--kubelet-preferred-address-types=InternalIP 使用 Node IP 进行通信。
    
    • 1
    • 2
    • 3
    1. 创建资源
    kubectl apply -f components.yaml
    
    • 1
    1. 检验相应的API群组metrics.k8s.io是否出现在Kubernetes集群的API群组列表中
    # kubectl api-versions | grep metrics
    
    • 1
    1. 确认相关的Pod对象运行正常
    # kubectl get pods -n kube-system -l k8s-app=metrics-server
    
    • 1
    1. 使用kubectl top node查看结果
    [root@tiaoban ~]# kubectl top node
    NAME         CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
    k8s-master   422m         10%    1471Mi          40%       
    k8s-work1    268m         6%     1197Mi          33%       
    k8s-work2    239m         5%     1286Mi          35%       
    k8s-work3    320m         8%     1091Mi          30% 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    二、kube-state-metrics部署(prometheus)

    • 版本依赖

    image-20220729154506185

    • 克隆项目至本地
    git clone https://github.com/kubernetes/kube-state-metrics.git
    cd kube-state-metrics/examples/standard/
    
    • 1
    • 2

    image-20220729160848176

    • 修改service,允许prometheus自动发现
    vim service.yaml
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app.kubernetes.io/name: kube-state-metrics
        app.kubernetes.io/version: 2.2.0
      name: kube-state-metrics
      namespace: kube-system
      annotations:  
        prometheus.io/scrape: "true"       ##添加此参数,允许prometheus自动发现
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 创建资源
    kubectl apply -f .
    [root@tiaoban standard]# kubectl get pod -n kube-system -l app.kubernetes.io/name=kube-state-metrics
    NAME                                 READY   STATUS    RESTARTS   AGE
    kube-state-metrics-bb59558c8-cx9pz   1/1     Running   0          1m
    
    • 1
    • 2
    • 3
    • 4
    • 使用kubectl top node查看结果
    [root@tiaoban  ~]# kubectl top node 
    NAME         CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
    k8s-master   422m         10%    1471Mi          40%
    k8s-work1    268m         6%     1197Mi          33%
    k8s-work2    239m         5%     1286Mi          35%
    k8s-work3    320m         8%     1091Mi          30%
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    6% 1197Mi 33%
    k8s-work2 239m 5% 1286Mi 35%
    k8s-work3 320m 8% 1091Mi 30%

    
    
    • 1
  • 相关阅读:
    安卓app客户端测试---Drozer使用
    静态博客搭建工具汇总
    Java语言的过滤数据流
    尽人事,听天命,十二轮面试最终圆梦字节,记一次最难面试记录
    C++ Primer Plus第八章笔记
    毕业设计EMS办公管理系统(B/S结构)+J2EE+SQLserver8.0
    python脚本打包apk-上传到内测平台-企业微信通知
    相似对角化和约旦标准型求法(附带Matlab代码)
    Log4j2 ThreadContext日志链路追踪
    【必会】BM41 输出二叉树的右视图【中等+】
  • 原文地址:https://blog.csdn.net/tianmingqing0806/article/details/126146449