美文网首页KubernetesCKA认证kubernetes
【K8s 精选】CKA - 如何监视应用程序

【K8s 精选】CKA - 如何监视应用程序

作者: 熊本极客 | 来源:发表于2022-03-14 22:27 被阅读0次

    资源监控的工具可以检测 NodesPodsService 等资源的统计信息。metric-service 提供的 API metrics.k8s.io 仅能够监控 Node 和 Pod 的 CPU 和内存,而 Prometheus Adapter 提供 API custom.metrics.k8s.io 可以支持任意的 Prometheus 采集到的指标。

    1.核心指标

    K8S 资源指标监控-部署metrics-server

    Kubernetes 默认的 api-version,没有 metrics.k8s.ioexternal.metrics.k8s.io 分组。

    $kubectl api-versions
    admissionregistration.k8s.io/v1
    admissionregistration.k8s.io/v1beta1
    apiextensions.k8s.io/v1
    apiextensions.k8s.io/v1beta1
    apiregistration.k8s.io/v1
    apiregistration.k8s.io/v1beta1
    apps/v1
    authentication.k8s.io/v1
    authentication.k8s.io/v1beta1
    authorization.k8s.io/v1
    authorization.k8s.io/v1beta1
    autoscaling/v1
    autoscaling/v2beta1
    autoscaling/v2beta2
    batch/v1
    batch/v1beta1
    certificates.k8s.io/v1
    certificates.k8s.io/v1beta1
    coordination.k8s.io/v1
    coordination.k8s.io/v1beta1
    discovery.k8s.io/v1beta1
    events.k8s.io/v1
    events.k8s.io/v1beta1
    extensions/v1beta1
    flowcontrol.apiserver.k8s.io/v1beta1
    networking.k8s.io/v1
    networking.k8s.io/v1beta1
    node.k8s.io/v1
    node.k8s.io/v1beta1
    policy/v1beta1
    rbac.authorization.k8s.io/v1
    rbac.authorization.k8s.io/v1beta1
    scheduling.k8s.io/v1
    scheduling.k8s.io/v1beta1
    storage.k8s.io/v1
    storage.k8s.io/v1beta1
    v1
    
    $kubectl top nodes
    error: Metrics API not available
    $kubectl top pods
    error: Metrics API not available
    

    可以参考如何部署 metrics-server,完成 metrics-server 的安装部署。

    2.自定义指标

    自定义指标 是由 Prometheus Adapter 提供的 API 分组 custom.metrics.k8s.io,可支持任意 Prometheus 采集到的指标。

    说明:k8s 不能直接解析 Prometheus 采集到的 metrics,因为两者数据格式不兼容,还需要另外一个组件 kube-state-metrics 把 Prometheus 的 metrics 数据格式转换成 k8s API 接口能识别的格式。同时由于自定义 API,还需要用 Kubernetes aggregator 在 API 服务器中注册,以便直接通过 /apis/来访问。

    Custom Metrics 的部署流程
    部署 Node-exporter 组件:Prometheus 的 Agent 端,采集 Node 级别的监控数据。
    部署 Prometheus:服务端拉取 Node-exporter 数据并存储为时序数据。
    部署 kube-state-metrics: 将 Prometheus 数据转换成【Custom Metrics API】接口格式的数据。
    部署 k8s-prometheus-adpater:聚合 APIServer,即提供了一个 APIServer【Custom Metrics API】。
    grafana:可视化 Prometheus 获取到的 metrics数据。

    相关文章

      网友评论

        本文标题:【K8s 精选】CKA - 如何监视应用程序

        本文链接:https://www.haomeiwen.com/subject/lnlorrtx.html