温馨提示×

如何监控Debian上的K8s部署

小樊
44
2025-02-22 09:19:32
栏目: 智能运维
Debian服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

监控Debian上的Kubernetes(K8s)部署可以通过多种监控工具和方案来实现。以下是一些常用的方法和工具:

Prometheus-Operator

Prometheus-Operator是一个用于简化和自动化Prometheus在Kubernetes集群中部署和管理的工具。通过Prometheus-Operator,你可以使用ServiceMonitor和PodMonitor资源来监控Kubernetes集群中的应用和节点。

安装步骤:

  1. 安装Prometheus-Operator
kubectl apply -f https://github.com/prometheus-community/helm-charts/releases/latest/download/prometheus-operator.tgz
  1. 配置Prometheus

创建一个prometheus-cfg.yaml文件,定义Prometheus实例的基本配置信息,包括监控的目标和规则等。

apiVersion: v1
kind: ConfigMap
metadata:
  name: prometheus-config
  namespace: monitor-sa
data:
  prometheus.yml: |
    global:
      scrape_interval: 15s
      scrape_timeout: 10s
      evaluation_interval: 1m
    scrape_configs:
      - job_name: 'kubernetes-node'
        kubernetes_sd_configs:
          - role: node
        relabel_configs:
          - source_labels: [__address__]
            regex: '(.*):10250'
            replacement: '{1}:9100'
            target_label: __address__
          - action: labelmap
            regex: __meta_kubernetes_node_label_(.)
      - job_name: 'kubernetes-node-cadvisor'
        kubernetes_sd_configs:
          - role: node
          scheme: https
          tls_config:
            ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
            bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
        relabel_configs:
          - action: labelmap
            regex: __meta_kubernetes_node_label_(.)
          target_label: __address__
      - job_name: 'kubernetes-apiserver'
        kubernetes_sd_configs:
          - role: endpoints
          scheme: https
          tls_config:
            ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
            bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
        relabel_configs:
          - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
            action: keep
            regex: default;kubernetes;https
      - job_name: 'kubernetes-service-endpoints'
        kubernetes_sd_configs:
          - role: endpoints
        relabel_configs:
          - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
            action: keep
            regex: true
          - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
            action: replace
            target_label: __scheme__
            regex: (https?)
          - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
            action: replace
            target_label: __metrics_path__
            regex: source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
            action: replace
            target_label: __address__
            regex:d)?;(\d)
            replacement: 1:2
          - action: labelmap
            regex: __meta_kubernetes_service_label_(.)
            source_labels: [__meta_kubernetes_namespace]
            action: replace
            target_label: kubernetes_namespace
          - source_labels: [__meta_kubernetes_service_name]
            action: replace
            target_label: kubernetes_name
  1. 应用配置
kubectl apply -f prometheus-cfg.yaml

其他监控工具

除了Prometheus-Operator,还有其他多种监控工具可以用于监控Kubernetes集群:

  • cAdvisor:用于收集和展示容器的资源使用情况和性能指标。
  • kube-state-metrics:用于暴露集群中的各种资源对象的状态指标。
  • Prometheus:一个开源的系统和服务监控工具,特别适用于监控Kubernetes集群。
  • Grafana:一个可视化监控工具,可以与Prometheus等数据源集成,提供仪表盘和图表展示。
  • Node-exporter:用于收集节点的监控指标数据。

监控方案

  • 节点监控:使用node-exporter通过daemonset控制器部署,监控节点的CPU、内存、磁盘和网络使用情况。
  • 内部系统组件监控:使用kube-state-metrics监控kube-scheduler、kube-controller-manager、kubedns/coredns等组件的状态。
  • 编排级指标监控:使用metrics-server监控deployment的状态、资源请求、调度和API延迟等数据指标。

通过上述方法和工具,你可以有效地监控Debian上的Kubernetes部署,确保集群的高可用性和性能。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:K8s在Debian上怎么部署

0