본문 바로가기

반응형

Study/Docker & Kubernetes

(22)
OpenTelemetry Collector extension 사용해 보기 OpenTelemetry Collector extension 소개opentelemetry-collector 를 사용하면서 다양한 extension을 추가하여 사용할 수 있다.https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extensionextension을 활성화하면 특정 주소로 해당 extension을 호출하여 사용하게 된다.이 중 zpages , pprof , health_check extension를 사용해 보면서 기록을 남겨본다.전체 설정 파일은 마지막 부분에 정리해 두었다.K8S deployment, service 설정 부분extension 사용 시 endpoint 기본 설정이 localhost:[해당 ext..
spinnaker resource (component sizing) 설정해 보기 spinnaker의 경우 halyard를 사용해 배포를 한다. kubernetes의 resource 설정을 하지 않으면 대략 다음과 같이 memory resource를 사용한다. C:\Users\bluesky>kubectl top po -n spinnaker NAME CPU(cores) MEMORY(bytes) spin-clouddriver-9cd8859b6-2hc4m 109m 1802Mi spin-deck-dfb4446b7-l9pch 1m 68Mi spin-echo-676b7f55d5-d24cv 4m 678Mi spin-front50-6ff45f885b-6ncvm 8m 1255Mi spin-gate-7464dcd68f-j624v 3m 1146Mi spin-igor-57f6658c6f-ftfhc 2m 1..
kubernetes pod에 resource 설정해 보기 공부 목적으로 설치해 보는 과정을 정리한 것이기 때문에 실제 운영과 다릅니다. 성능 저하 증상 발생 Windows 10에서 11로 변경하면서 rancher desktop의 설정이 모두 초기화되었고 다시 모두 재설정하였다. Swap memory가 모두 사용 중이었다. (확인하는 방법은 아래 참조) 작업관리자에서 VmmemWSL의 디스크 사용량이 지속적으로 발생하고 있었다. 계속 디스크를 사용하여서 전체적인 성능이 하락하였다. 디스크를 왜 계속 사용하는지에 대해서는 명확하게 확인되지 않았지만 다음과 같이 진행해 보았다. container를 다시 생성하면서 일부 pod가 계속 에러를 발생시켰다. 통계 정보 수집하는 pod가 이 에러난 pod의 통계 정보로 계속 디스크 쓰기 작업이 발생시킨 게 아닌가 짐작하고 ..
kubernetes에 Promtail, Loki 사용해 보기 공부 목적으로 설치해 보는 과정을 정리한 것이기 때문에 실제 운영과 다릅니다. Loki 소개 https://github.com/grafana/loki Loki에 대한 소개를 보면 다음과 같다. "Like Prometheus, but for logs" Prometheus가 metric을 시계열 데이터로 저장하기 위해 사용된다면 Loki는 log 데이터를 저장하기 위해 사용된다. https://grafana.com/docs/loki/latest/fundamentals/overview/ Loki는 log data를 효율적으로 보관하기 위해 최적화된 데이터 저장소이다. 다른 logging system과 다르게 Loki index는 label에서 작성되며 원래 log message는 색인화되지 않는다. Prome..
kubernetes에 OpenTelemetry Collector, Grafana Tempo를 설치하고 tracing 구현해 보기 공부 목적으로 설치해 보는 과정을 정리한 것이기 때문에 실제 운영과 다릅니다. OpenTelemetry 소개 application의 상태를 계측하기 위한 단계는 간략하게 계측 데이터 수집 -> 저장 -> 모니터링의 세 단계로 나누어 볼 수 있다. (이 구분이 절대적인 정의는 아니다.) 각 역할별로 제공되는 여러 라이브러리를 조합해서 사용하는데 ELK(ElasticSearch + Logstash + Kibana), EFK (ElasticSearch + Fluentd + Kibana), PLG (Promtail + Loki + Grafana) 등 다양한 조합이 있고 보통 해당 라이브러리를 만든 회사의 제품들을 묶은 제품군(stack)으로 사용하게 된다. 또한 수집하는 계측 데이터(log, metric, tr..
helm chart로 kubernetes yaml 파일 만들기 어떤 경우 helm chart로 kubernetes yaml 파일을 만들고 싶어 질까 설정이나 구성이 복잡한 경우 docker image로 설치할 수 있는 안내를 하지 않고 helm을 사용하는 걸 안내하는 경우가 있다. helm이 간편하게 설치를 할 수 있게 해 주지만 해당 image의 사용이 어떻게 구성이 되었는지 알고 싶거나 또는 helm으로 제공되는 설정을 적당히 참고해서 내가 원하는 구성으로 kubernetes yaml파일을 만들고 싶은데 docker hub를 검색해도 해당 docker image에 대한 커스텀 옵션 안내가 없고 docker file tag를 살펴보거나 해당 소스의 github을 찾아봐도 어떻게 kubernetes yaml을 작성해야 하는지 알기 어려운데 helm으로 사용하는 법만..
kubernetes에 sonarqube 설치 & jenkins에서 사용해 보기 공부 목적으로 설치해 보는 과정을 정리한 것이기 때문에 실제 운영과 다릅니다. sonarqube 소개 sonarqube는 30개 이상의 프로그래밍 언어에서 버그, 코드 스멜, 보안 취약점을 발견할 목적으로 정적 코드 분석을 자동 리뷰 수행하기 위한 지속적인 코드 품질 검사용 오픈소스 플랫폼이다. https://www.sonarsource.com/products/sonarqube/ 개발할 때 findbug, checkstyle, pmd를 사용하여 코드상 문제를 파악하고 수정할 수 있다. sonarqube는 이런 분석 내용을 저장하고 해결된 내역을 기록하여 코드 품질을 관리할 수 있도록 도와준다. sonarqube는 java 뿐만 아니라 C#, C, C++, Go, Kotlin, PHP, Python, Ru..
kubernetes에 Prometheus, Grafana 설치하고 metric 정보 수집해 보기 공부 목적으로 설치해 보는 과정을 정리한 것이기 때문에 실제 운영과 다릅니다. Observability, Monitoring에 대하여 Observability(관측 가능성)는 시스템의 출력 변수를 사용하여 상태 변수에 대한 정보를 알아낼 수 있는지를 나타내는 용어이다. 이런 정보를 확인하기 위해서는 데이터를 수집하고 저장하여 지속적으로 관찰, 감시할 수 있는 모니터링이 필요하다. 저장할 데이터의 종류는 크게 log, metric, trace (추가로 event?)으로 나누어 볼 수 있다. log는 일반적으로 개발하면서 logger를 통해 남기는 데이터라고 생각하면 된다. metric은 현재 application의 상태에 대한 지표를 주기적으로 수집하여 시간별 상태를 확인할 수 있도록 시계열 데이터(tim..

반응형