시스템을 분석하는 기법 중 널리 알려진 것은USERED이 두 가지가 있다.AWS의 ADOT를 활용하면 USE + RED 방법론을 활용할 수 있고 메트릭을 prometheus와 grafana와 통합할 수 있다.
서비스를 MSA와 시키는 decoupling 작업을 하면서SQS와 Lambda로 빅데이터를 처리 중이었다.하지만 이 구조를 만들면서 굉장히 맘에 들지 않았다. 그 이유는 바로Django의 ORM이나 Celery를 사용할 수 없었다는 점.그래서 Pub/Sub 구조의 카프
K8s 환경에 대한 비용 분석 및 비용 최적화, 성능 관리, Alert를 제공하는 FinOps 솔루션Dashboard 형태로 구성되어 가시성 제공EC2 Worker nodekubectlhelmAmazon EBS CSI 드라이버
AWS에서 개발한 kubernetes의 Worker Node의 오토 스케일러CA와 비슷한 역할을 수행하지만, CA는 AWS 리소스의 의존성이 강한 반면karpenter는 AWS 리소스 의존성 없이 JIT ( Just In-Time )배포 가능helm 차트로 패키징해서
kubernetest 패키지 관리자Chart 라고 불리는 패키지들을 관리template과 values.yaml 파일을 이용해 어플리케이션을 구성차트에 대한 정보차트 라이센스에 대한 정보차트에 대한 설명 파일차트의 의존성을 명시한 파일이 차트에서 사용하는 기본 설정 값이
kubectx > kubectl의 컨텍스트 간에 전환을 도와주는 도구 kubens > kubernetes 네임스페이스 간 쉽게 전환하고 kubectl에 맞게 구성하는 도구
워크로드가 돌아가는 컨테이너를 배치하는 물리(가상) 머신control plane에 의해 관리됨.일반적인 운영환경에서는 multi node로 운영각 노드는 kube-proxy, container-runtime, kubelet이 포함.동일 물리 클러스터를 기반으로 하는 복
controll plance 영역이 AWS EKS 영역으로 완전 관리형으로 제공된다.AWS가 kubernetes 마스터 노드를 관리하고, 사용자는 worker node 혹은 data plane 영역을 관리한다.극단적으로 말하면, 1단원부터 10단원까지 중 contol
실제로 컨테이너를 실행시키는 런타임 환경저수준runc, runv ...고수준containerd, CRI-O, docker ...
클러스터 내 각 node에서 실행되는 네트워크 프록시가상 네트워크의 동작을 관리IP Translation과 라우팅노드나 Pod끼리 통신을 가능하게 해준다.
다양한 컨트롤러를 구성하는 요소노드 컨트롤러, 잡 컨트롤러, 엔드포인트 컨트롤러, 레플리케이션 컨트롤러 등다양한 컨트롤러를 모니터링하고 관찰5s 마다 status check ( node monitor period )heart beat가 도착하지 않으면, 40s 대기 후
클러스터 안에서 자원 할당이 가능한 노드 중 알맞은 노드를 선택하는 역할Label / Selector / Affinity / Taint / Tolerationpod를 수동으로 manually하게 schedule 해야한다.pod.yaml사용자가 특정 노드에 Pod를 배치
쿠버네티스 API를 제공하는 핵심 구성 요소 쿠버네티스 프론트엔드로서 클러스터로 온 요청의 유효성 검증다른 컴포넌트 간 통신을 중재kubectl 유틸리티가 접근하는 주체
쿠버네티스에 필요한 모든 데이터를 키-값 형태로 저장하는 DBetcd가 다운되면 모든 컴포넌트는 미아가된다. 즉, high-availability가 중요하다.
/.kube/configcurrent-context 가 중요하다.실제로는 다중 클러스터로 운영이 되는데, 현재 바라보고 있는 클러스터가 무엇인지 명세할 수있다.변경조회현재 컨텍스트 확인