목록k8s (23)
근묵자흑

1. 모니터링 기본 구조클라우드 네이티브 환경에서의 모니터링쿠버네티스 환경에서 효과적인 모니터링은 단순한 리소스 추적을 넘어 시스템의 건강도와 성능을 종합적으로 이해하는 과정입니다. **모니터링(Monitoring)**과 **관찰가능성(Observability)**은 서로 보완적인 개념으로, 현대 클라우드 네이티브 환경에서 필수적입니다.관찰가능성의 3가지 기둥:메트릭(Metrics): 시간에 따른 수치적 측정값로그(Logs): 시스템과 애플리케이션의 이벤트 기록트레이스(Traces): 분산 시스템을 통과하는 요청의 경로Push vs Pull 아키텍처Pull 기반 모니터링 (Prometheus 방식):# Prometheus가 타겟에서 메트릭을 수집scrape_configs: - job_name: 'kub..
1. JobJob은 한 번 실행하고 완료되는 작업을 위한 워크로드 오브젝트입니다. 배치 처리, 데이터 마이그레이션, 백업 등의 용도로 사용됩니다.1.1 잡의 세부 옵션Job의 주요 설정 옵션들을 살펴보겠습니다.핵심 설정 필드spec.backoffLimit (기본값: 6): 실패 시 재시도 횟수 제한spec.completions: 성공적으로 완료되어야 하는 Pod 수spec.parallelism: 동시에 실행할 수 있는 최대 Pod 수spec.activeDeadlineSeconds: Job 전체 실행 시간 제한spec.ttlSecondsAfterFinished: Job 완료 후 자동 삭제 시간최신 기능 (Kubernetes 1.33)쿠버네티스 1.33에서는 Job의 백오프 제한이 인덱스별로 설정 가능하도록..
컨트롤러란?쿠버네티스에서 컨트롤러는 리소스가 변경되면 변경이 감지돼 컨트롤러로 이벤트가 전달되고, 이벤트를 받은 컨트롤러는 리소스가 '원하는 상태(desired status)'가 될 때까지 Reconcile이라는 함수를 이용해 조정하는 과정을 수행합니다. 이는 쿠버네티스의 핵심 철학인 선언적 API(Declarative API)를 구현하는 핵심 메커니즘입니다. controller-runtime의 reconcile 패키지에서 "Reconciler implements a Kubernetes API for a specific Resource by Creating, Updating or Deleting Kubernetes objects, or by making changes to systems external ..

쿠버네티스를 운영하다 보면 "개발자들이 자꾸 리소스 제한을 빼먹네", "모든 Pod에 특정 라벨을 강제하고 싶은데"와 같은 고민을 하게 됩니다. 이런 상황에서 우리에게 필요한 것이 바로 Admission Controller입니다.Admission Controller를 쉽게 이해하기 위해 아파트 경비실을 생각해보세요. 방문자가 들어올 때 경비원은 두 가지 일을 합니다. 먼저 방문증을 발급해주고 필요한 안내를 해준 다음(변조), 출입이 가능한 사람인지 최종 확인합니다(검증). 쿠버네티스의 Admission Controller도 정확히 이런 역할을 합니다. 이 글에서는 https://malwareanalysis.tistory.com/704 를 참조하여 작성했습니다.핵심 개념: 두 단계로 이루어진 관문1단계: ..
1. 포드의 자원 사용량 제한쿠버네티스 클러스터에서 안정적인 서비스를 제공하려면 각 파드가 사용하는 자원을 적절히 관리해야 합니다. 이는 노드의 자원이 고갈되는 것을 방지하고, 애플리케이션 간의 공정한 자원 분배를 보장합니다.1.1 컨테이너와 파드의 자원 사용량 제한: LimitsLimits는 컨테이너가 사용할 수 있는 최대 자원량을 정의합니다. CPU와 메모리에 대해 각각 설정할 수 있으며, 이를 초과하면 시스템이 개입합니다.apiVersion: v1kind: Podmetadata: name: resource-limited-podspec: containers: - name: app image: nginx resources: limits: memory: "256Mi"..

1. 쿠버네티스의 권한 인증 과정쿠버네티스의 모든 요청은 API 서버를 통해 처리되며, 다음과 같은 단계를 거칩니다:인증(Authentication): 사용자 또는 서비스가 누구인지 확인인가(Authorization): 인증된 사용자/서비스가 요청한 작업을 수행할 권한이 있는지 확인승인(Admission Control): 요청이 클러스터 정책에 부합하는지 확인쿠버네티스는 다양한 인증 메커니즘을 지원합니다:클라이언트 인증서(X.509)베어러 토큰(Bearer Token)서비스 어카운트 토큰OpenID Connect 토큰웹훅 토큰 인증인증이 완료되면 RBAC 시스템을 통해 인가 과정이 진행됩니다. 2. 서비스 어카운트와 롤, 클러스터 롤서비스 어카운트(ServiceAccount)서비스 어카운트는 파드 내에..