반응형

전체 글 303

Prometheus 와 Thanos 설치 및 구성

Overview지난번 포스팅에서 Prometheus와 Thanos에 대해서 알아보았다. 이번에는 Prometheus와 Thanos 설치 및 구성에 대해서 알아본다. 모든 설치는 Helm으로 진행된다.그리고 PV와 PVC를 설정해야 하기때문에 Storage 구성을 위한 Provionser 설정은 되어 있어야 한다.그리고 Object Storage(AWS S3, GCP GCS, Minio, Ceph..etc) 준비도 필요하다. Objcet Storage 구성방법https://thanos.io/v0.8/thanos/storage.md/​ Local Storage Dynamic Provisoninghttps://github.com/rancher/local-path-provisioner/tree/master NF..

Monitoring 2024.09.19

Prometheus와 Thanos란?

OverviewPrometheus와 Thanos에 대해서 알아본다.   📅 관련 글2024.03.05 - [Monitoring] - Fluent Bit (With Loki)2024.09.12 - [Monitoring] - Prometheus와 Thanos란?2024.09.12 - [Monitoring] - Prometheus 와 Thanos 설치 및 구성2024.09.12 - [Monitoring] - Loki란?2024.09.13 - [Monitoring] - Loki와 Promtail 설치2025.01.13 - [Monitoring] - ELK Stack 구축해보기       Prometheus와 Thanos란? PrometheusPrometheus는 오픈 소스 모니터링 시스템으로, 주로 시간에 따..

Monitoring 2024.09.12

[CS 지식15.] SSR vs CSR vs ISR vs SSG

Overview웹 페이지를 "어떻게" 렌더링하느냐는 사용자 경험, 성능, SEO에 큰 영향을 미친다.전통적인 SSR(Server-side Rendering), 브라우저에서 동작하는 CSR(Client-side Rendering), 정적 빌드 기반의 SSG(Static Site Generation), 그리고 하이브리드 방식인 ISR(Incremental Static Regeneration)은 현대 웹 개발에서 매우 중요한 렌더링 전략들이다.  이 글에서는 각 방식의 개념과 장단점, 그리고 상황별 선택 기준을 살펴보며Next.js, Nuxt.js, Gatsby 같은 최신 프레임워크들이 이들 방식을 어떻게 활용하고 있는지도 함께 알아본다.     📅 관련 글2023.01.13 - [CS 지식] - [CS 지..

CS 지식 2024.09.05

Kubernetes Garbage Collection

OverviewKubernetes Garbage Collection(GC)은 클러스터 내 불필요하거나 더 이상 참조되지 않는 리소스(예: Pod, 컨테이너 이미지, 네임스페이스 등)를 자동으로 정리하는 기능이다.Kubernetes는 API Server, Controller, Kubelet 등 각 컴포넌트를 통해 리소스의 생성과 삭제를 조율하고, OwnerReferences, Finalizers, Threshold 정책을 기반으로 다양한 수준의 GC를 수행한다.  GC는 다음 세 가지 방식으로 작동한다.Pod 및 Controller 기반 GCKubelet 이미지 GC (디스크 절약 목적)Finalizer 기반 리소스 GC (네임스페이스, CRD 등)  이를 통해 클러스터 안정성과 자원 활용도를 높이고, 리..

Minio란? (Object Storage)

OverviewMinIO는 고성능, 확장 가능하고 배포가 용이한 분산 객체 스토리지 시스템이다.Amazon S3와 완벽하게 호환되며, 온프레미스, 프라이빗 클라우드 및 하이브리드 환경에서 실행할 수 있는 S3 호환 스토리지 솔루션으로 널리 사용된다.  MinIO의 주요 특징Scalability (확장성) → 여러 노드를 연결하여 페타바이트(PB) 규모 데이터까지 관리 가능High Availability (고가용성) → Erasure Coding 및 Bitrot Protection 지원Performance (성능 최적화) → 고속 데이터 처리 및 대량 트래픽 동시 처리 지원S3 API Compatibility (S3 API 호환성) → Amazon S3용 기존 애플리케이션과 100% 호환Security (..

Habor Robot Account(하버 로봇 계정)란?

OverviewHarbor Robot Account는 이미지 관리, 보안 및 규정 준수 기능을 제공하는 오픈소스 컨테이너 이미지 레지스트리인 하버의 특별한 유형의 계정이다.  로봇 계정은 CI/CD 파이프라인, 스크립트 또는 인간 사용자의 자격 증명을 사용하지 않고 레지스트리와 상호 작용해야 하는 자동화된 작업과 같이 하버 레지스트리와의 자동화 및 프로그래밍적 상호 작용을 위해 특별히 설계되었다.         Habor Robot Account란?일반 사용자처럼 접속하지 못하고, Image에 대한 push & pull 만 가능하다.원하는 아이디를 입력하면, 계정 만료 기간 설정 가능하며 토큰이 생성된다.생성 후 다시 만들기 전까지는 토큰을 알 수 없으므로 파일로 추출하기 기능을 사용하면 좋다.CI/CD..

Dockerfile 빌드 원칙 & Layer

Overview오늘은 Dockerfile과 Docker 이미지의 Layer 구조에 대해 알아보겠다.Dockerfile은 Docker 이미지를 자동으로 빌드하기 위한 스크립트이며, 각 명령어는 이미지 내에 하나의 Layer를 생성한다. 이 Layer 구조는 Docker 이미지의 재사용성, 효율성, 불변성을 보장하며, 특히 캐시 메커니즘을 통해 빌드 시간을 단축하고 리소스를 절약할 수 있다. 또한, `RUN, COPY, ENV` 등 각 명령어가 어떻게 Layer를 형성하고 캐싱되는지를 통해 실제 Docker 빌드가 어떻게 작동하는지 이해할 수 있었다.실전 예시로는 Standard Dockerfile 구성과 Multi-Stage Build 패턴을 비교해 보았고, 이를 통해 이미지 최적화 방법까지 함께 살펴보겠..

IaC/Container 2024.07.22

Kubernetes 생태계 표준화와 Container Interface(CRI, CSI, CNI)

Overview오늘은 Kubernetes에서 핵심 컴포넌트와 외부 시스템 간의 모듈식 연동을 가능하게 하는 표준 인터페이스, 즉 CRI, CSI, CNI, CDI 등 다양한 Container 인터페이스에 대해 알아본다. Kubernetes는 다양한 클라우드 환경과 기술 스택에 확장성과 유연성을 제공하기 위해, 특정 런타임이나 네트워킹/스토리지 기술에 의존하지 않고 표준화된 인터페이스를 통해 구성 요소를 분리해왔다.이러한 구조는 새로운 기술의 빠른 통합, 공급자 중립성 확보, 클러스터 운영 단순화, 그리고 생태계의 확장을 가능하게 했다. 이번 글에서는 각 인터페이스가 무엇을 해결하고자 등장했는지, 그리고 어떤 방식으로 Kubernetes 환경에서 동작하고 있는지를 이해함으로써, 쿠버네티스가 왜 현대 클라우..

Kubernetes Pod를 안전하게 종료하는 방법(cordon, uncordon, drain, scale)

OverviewKubernetes 운영 환경에서는 노드 유지보수, 애플리케이션 롤링 업데이트, 스케일링 등 다양한 이유로 Pod 종료 및 재배치가 필요하다. 하지만 단순히 `kubectl delete pod` 만으로 처리한다면 서비스 중단이나 데이터 손실 위험이 따를 수 있다. 이 글에서는 Kubernetes에서 제공하는 `cordon, uncordon, drain, scale` 명령어를 중심으로, Pod를 안전하고 신중하게 종료하고 재시작하는 전략을 정리한다.특히 StatefulSet과 Stateless 앱의 차이, Pod Disruption Budget(PDB), 노드 유지보수 플로우까지 실전적인 관점에서 살펴본다.       Kubernetes Pod를 안전하게 종료 Kubernetes에서 Pod ..

Ingress Nginx란?

OverviewKubernetes 클러스터에 외부 트래픽을 안전하고 유연하게 연결하려면 적절한 진입 지점(Entry Point)이 필요하다.  Ingress NGINX는 Kubernetes에서 가장 널리 사용되는 Ingress Controller 중 하나로, HTTP/HTTPS 요청을 클러스터 내부의 서비스로 라우팅하는 데 최적화되어 있다. 이 글에서는 Ingress NGINX의 개념과 주요 기능, 다양한 주석(annotation)을 활용한 커스터마이징, Helm 또는 Manifest 기반 설치 방법까지 실습 중심으로 알아본다. 특히 On-Premise 환경에서는 LoadBalancer 서비스 유형을 사용하기 위해 MetalLB와 함께 Ingress NGINX를 구성하는 것이 일반적이다. 이를 통해 클라..

반응형