클라우드 Final Project 7일차

soso·2024년 10월 10일

클라우드 부트캠프

목록 보기
74/77

기존 configmap을 수정하여 적용하는 방식 대신 prometheus operater가 설치되어있으니 prometheusRule을 적용하는 방식 사용

프로메테우스가 rule을 인식하기 위해 프로메테우스 crd를 수정하여 ruleNamespaceSelector에 matchLabels 추가

[root@ip-172-31-46-129: ~/Node-K8s/develop/horizontal-pod-autoscalers]$ kubectl get namespace bank-namespace --show-labels
NAME             STATUS   AGE     LABELS
bank-namespace   Active   2d16h   istio-injection=enabled,kubernetes.io/metadata.name=bank-namespace
spec:
  ruleNamespaceSelector:
    matchLabels:
      kubernetes.io/metadata.name: bank-namespace  # bank-namespace의 기존 라벨을 사용
  ruleSelector:
    matchLabels:
      release: kube-prometheus-stack-1727853607

rule을 작성한 후 apply하면 프로메테우스 ui에서 확인 가능

프로메테우스 ui와 hpa describe했을때 간헐적으로 unknown 뜨는 현상

Metrics:                                                                                 ( current / targe
t )
  "frontend_cpu_usage_percentage" on Service/frontend-server (target average value):     <unknown> / 300m
  "frontend_memory_usage_percentage" on Service/frontend-server (target average value):  163m / 750m
  "frontend_requests_per_second" on Service/frontend-server (target value):              0 / 30
  "frontend_network_traffic" on Service/frontend-server (target average value):          <unknown> / 500k

프로메테우스 설정 파일에서 crape_interval(Prometheus가 대상에서 메트릭을 수집하는 간격), evaluation_interval(수집한 데이터를 기반으로 평가(알람 규칙, HPA 등)를 실행하는 간격)를 30s에서 15s로 변경하여 해결

참고한 문서 : https://tech.scatterlab.co.kr/kubernetes-hpa-custom-metric/

0개의 댓글