일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- keda
- Kubernetes 인증
- Continuous Deployment
- eBPF
- Kubeflow
- Argo
- gitops
- seldon core
- operator
- nginx ingress
- blue/green
- tekton
- Pulumi
- Litmus
- CANARY
- CI/CD
- 카오스 엔지니어링
- opentelemetry
- Model Serving
- knative
- xdp
- 오퍼레이터
- MLflow
- Kubernetes
- opensearch
- Kopf
- mlops
- serving
- argocd
- kubernetes operator
- Today
- Total
목록Kubernetes/모니터링 (15)
Kubernetes 이야기
Kubernetes에서 Pod에 적절한 Resoruce request/limit 설정은 매우 중요하다. 이러한 문제를 해결하기 위해 VPA를 사용한다. VPA에 대해서는 아래의 글을 참고한다. https://kmaster.tistory.com/45 Vertical Pod Autoscaler (VPA) Kubernetes에서는 3가지의 오토스케일을 사용하여 확장 처리를 할 수 있다. HPA ( Horizontal Pod Autoscaler ) : Pod를 수평적으로 확장한다. 즉, pod의 cpu나 mem 이 임계치 이상 사용하면 pod 개수를 늘리는 것.. kmaster.tistory.com Goldilocks VPA를 설정하면 recommed 값이 보인다. 하지만, 개별적으로 각각 조회를 하여야 하기 ..
Kubernetes에서는 다양한 Pod들이 서비스가 되고 있다. 이 때 모니터링은 관리자나 개발자에게 무엇보다 중요한 일이 될 것이다. Kubernetes에서 다양한 모니터링 솔루션들이 있으나, 가장 범용적으로 많이 사용되는 도구는 Prometheus-Grafana 조합일 것이다. Prometheus에는 일정시간 간격으로 모니터링 데이터를 수집하고 기본적으로 CPU, Memory, Disk IO, Network IO 등이 포함되고, ServiceMonitor 등을 통해 Third party Container의 모니터링 데이터도 수집한다. Grafana는 이런 수집된 데이터를 각종 차트를 이용하여 사용자에게 시각화해 주는 도구이다. ( Thanos Project는 여러 Cluster에 설치된 Prometh..
Kubernetes에서 다양한 장애를 빠르게 인지하기 위해 대부분 prometheus+alert manager 를 사용하여 알람을 받도록 설정한다. 이번에는 장애를 감지하기 위한 주요한 룰을 알아보자. alert rule 설정은 https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/ 를 참고한다. 주요한 expr만 알아보자. Prometheus Rule 등록과 AlertManager 설정 PrometheusRule 형식 apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: labels: app: prometheus role: alert-rules name: n..
OpenTelemetry란 애플리케이션이 정상적으로 운영되고 있는지, 의도한 대로 작동하고 있는지 여부를 확인하는데 필요한 정보를 원격 분석 데이터라고 한다. Java Web Application Server에서 ( Tomcat 또는 WebLogic 등 ) 우리가 만든 Web Application ( 예를 들어 Spring Framework app등 ) 을 올려 운영을 한다고 가정해보자. 해당 애플리케이션이 정상적으로 되고 있는지를 확인하기 위해서는 실제 브라우저에서 확인해 보거나 ( 모든 페이지를 확인하는 것은 거의 불가능하다. ) Web access log ( 2xx, 4xx, 5xx code ) 분석, WAS Log 등을 분석하여 오류가 있는지 확인하게 된다. 특히, 에러가 없고 모두 200 ok ..
OpenTelemetry에서 애플리케이션의 관찰을 위해 아래와 같은 방법을 사용할 수 있다. 수동(명시적) : 소스 코드에 Opentelemetry API를 사용하여 애플리케이션 모니터링 자동 : 애플리케이션의 코드 수정 없이 모니터링 ( Java에서 보통 제니퍼나 Scouter 등이 이런 방식이다. ) OpenTelemetry에서 자동으로 애플리케이션에 대한 관찰을 지원하기 위한 Auto instrumentation 방식을 알아보자. 설치 opentelemetry 설치 전 cert-manager가 설치되어 있어야 한다. cert-manager 설치는 다음을 참고한다. https://kmaster.tistory.com/5 cert-manager와 letsencrypt 연동 1. cert-manager c..
개요 종종 Pod내부에서 외부 통신 (예를 들어 외부 mariadb의 3306 ) 상태를 조회하거나 몇개가 연결되어 있는지 확인해야 하는 경우가 있다. 또는 Pod 내부에서 사용하는 서버가 정상적으로 listen 중인지 확인해야 할 경우가 있다. 이 때 보통 netstat 명령어를 사용하는데 Container안에 netstat 설치가 안되어 있거나 pod 내부에 접근 권한이 없는 경우 곤란한 상황을 맞이할 때가 있다. 테스트 전 아래와 같이 예제를 배포해 구성해 보자. 예제파일 1) Container (사용자 app) FROM tomcat:8.0.51-jre8-alpine ENV TZ=Asia/Seoul RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && ec..