전체 글

· AEWS2기
1. 인증 이해 API서버가 요청을 받으면 인증 플러그인 목록을 거치며, 인증 처리가 진행된다. 각각의 인증 플러그인은 요청을 검사해 보낸 사람이 누구인지 밝혀내려 시도한다. 요청 정보를 통해 사용자 이름, 사용자 ID, 사용자 그룹을 찾아내는 플러그인은 해당 정보를 API서버 코어에 반환한다. API 서버는 나머지 인증 플러그인 호출을 중지한다 인가 단계를 진행한다 인증 플러그인이 클라이언트 ID 얻는 방법 클라이언트의 인증서 HTTP 헤더로 전달된 인증 토큰 기본 HTTP 인증 기타 1.1 사용자와 그룹 [Techplayon] Security in Kubernetes – Service Account 사용자 쿠버네티스는 API 서버에 접속하는 클라이언트를 두 종류로 구분한다. 실제 사람(사용자) SSO..
· AEWS2기
1. EKS (karpenter-preconfig.yaml) 2. 사전 확인 & eks-node-viewer 설치 ip -br -c addr # EKS Node Viewer 설치 : 현재 ec2 spec에서는 설치에 다소 시간이 소요됨 = 2분 이상 wget https://go.dev/dl/go1.22.1.linux-amd64.tar.gz tar -C /usr/local -xzf go1.22.1.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin go install github.com/awslabs/eks-node-viewer/cmd/eks-node-viewer@latest # [터미널1] bin 확인 cd ~/go/bin && ./eks-node-viewe..
· AEWS2기
CA (Cluster Autoscaler) karpenter를 사용하기 전에 이해해야 되는 부분 CA → 워커노드 스케일링 ASG 이미 존재 → ASG를 활용해서 CA를 진행함 Cluster Autoscale 동작을 하기 위한 cluster-autoscaler 파드(디플로이먼트)를 배치합니다. Cluster Autoscaler(CA)는 pending 상태인 파드가 존재할 경우, 워커 노드를 스케일 아웃합니다. 특정 시간을 간격으로 사용률을 확인하여 스케일 인/아웃을 수행합니다. 그리고 AWS에서는 Auto Scaling Group(ASG)을 사용하여 Cluster Autoscaler를 적용합니다. CA 문제점 하나의 자원에 대해 두군데 (AWS ASG vs AWS EKS)에서 각자의 방식으로 관리 ⇒ 관..
· AEWS2기
KEDA(Kubernetes based Event Driven Autoscaler) KEDA AutoScaler 소개 - Docs DevOcean (업데이트 되기전) 기존의 HPA(Horizontal Pod Autoscaler)는 리소스(CPU, Memory) 메트릭을 기반으로 스케일 여부를 결정하게 됩니다 반면에 KEDA는 특정 이벤트를 기반으로 스케일 여부를 결정할 수 있습니다. 예를 들어 airflow는 metadb를 통해 현재 실행 중이거나 대기 중인 task가 얼마나 존재하는지 알 수 있습니다. 이러한 이벤트를 활용하여 worker의 scale을 결정한다면 queue에 task가 많이 추가되는 시점에 더 빠르게 확장할 수 있습니다. KEDA with Helm keda-dashboard.json ..
· AEWS2기
[kubernetes.io] Horizontal Pod Autoscaling [kubernetes.io] HorizontalPodAutoscaler v2 autoscaling - API [medium] [K8S] Kubernetes의 HPA를 활용한 오토스케일링(Auto Scaling) Pod Autoscaling HPA (Horizontal Pod Autoscaling) VPA (Vertical Pod Autoscaling) Cluster Autoscaling CAS (Cluster Autoscaler) HPA 워크로드 리소스(예: 디플로이먼트 또는 스테이트풀셋)를 자동으로 업데이트하며, 워크로드의 크기를 수요에 맞게 자동으로 스케일링하는 것을 목표로 한다. Horizontal Pod Autoscali..
· AEWS2기
오토스케일러의 초기설계 > CPU 기반 스케일링만 가능 (커스텀 메트릭은 어려웠음) 쿠버네티스 오토스케일링 SIG(Special Interest Group)은 오토스케일러를 완전히 다시 설계함 https://medium.com/@marko.luksa/kubernetes-autoscaling-based-on-custom-metrics-without-using-a-host-port-b783ed6241ac
· AEWS2기
CPU 사용량을 기반으로 HorizontalPodAutoscaler 생성 디플로이먼트 : CPU 요청 설정 HorizontalPodAutoScaler 정의
· AEWS2기
CPU 사용률을 기반으로 파드의 자동 수평 스케일링 설정 사용자 정의 메트릭 기반으로 파드의 자동 수평 스케일링 설정 파드의 수직 스케일링이 아직 불가능한 이유 이해 클러스터 노드 자동 수평 스케일링 이해 수평적 파드 오토스케일링 오토스케일링 프로세스 확장 가능한 리소스 오브젝트에서 관리하는 모든 파드의 메트릭을 가져온다 메트릭을 지정한 목표 값과 같거나 가깝도록 하기 위해 필요한 파드 수를 계산한다 확장 가능한 리소스의 replicas 필드를 갱신한다. 파드 메트릭 얻기 cAdvisor Pod, Node 메트릭 수집 kubelet에 의해 실행 힙스터 수집한 메트릭 집계 HPA (Horizontal Pod Autoscaler) 힙스터에 REST 질의를 통해 메트릭을 가져옴 필요한 파드 수 계산 모든 레플..
· AEWS2기
A question about how to integrate Grafana Agent with any external metrics storage system 1. Push 기반 익스포터 메트릭을 주기적으로 목적지에 전송 트리거 수집된 메트릭의 최대 개수 스케쥴 StatsD 네트워크 데몬이 특정 포트를 열고 메트릭을 수신해서 목적지로 전달하는 것 ConsoleSpanExporter - 푸시기반 2. Pull 기반 외부 시스템이 메트릭을 가져갈 수 있도록 엔드포인트를 노출 프로메테우스 익스포터 단점 방화벽 제한이 까다로운 기업에서는 새로운 EC2 생성시 해당 IP에 대한 방화벽 신청 프로세스가 필요 3. Grafana Agent
· AEWS2기
1. Grafana agent 개요 static mode original mode Grafana-Agent가 시작한 스토리 a fork essentially of prometheus we kind of removed the bits that we didn’t need that was required just to move data next step of evoluation of the grafana-agent(static mode) / Flow mode의 등장 배경 experimental a Telemetry pipeline Chain processor SNS flexible component-based architecture 유연한 구조를 위해 component-based architecture 전통적..
· AEWS2기
[교보문고] 관찰 가능성 엔지니어링 | 알렉스 보텐 1. OpenTelemetry 1.1 관찰 가능성 주요 주제 중앙 집중식 로깅 Fluentd Logstash Apache Flume 메트릭과 대시보드 Prometheus Graphite StatsD Grafana 추적과 분산 OpenTracing Zipkin OpenCensus Jaeger 1.2 OpenTelemetry 역사 2019년 초 OpenTracing과 OpenCensus라는 두 프로젝트의 병합으로 탄생 프로젝트 초기 목표 두 개의 프로젝트를 하나로 합치는 것 클라우드 네이티비 소프트웨어에 대한 관찰 가능성 프레임워크 제공 목표 1.3 OpenTracing 2016년 시작 프로젝트 목표 사용자가 시스템을 더 잘 이해하기 위한 수단으로 분산 추..
· AEWS2기
1. SQLite3 - DB Lock 이슈 및 원인 분석 nmon - 네트워크 사용량 모니터링 iostat - io 모니터링 /var/lib/grafana - 파일 크기 변화 모니터링 yum install epel-release yum install nmon sudo yum install sysstat sudo iostst -u grafana cd /var/lib/grafana watch -n 1 'ls -al' private 환경이라 테스트 관련 자료는 없음. 테스트 환경 EC2 50대(t2.mirco) CWAgent설치 및 메트릭 수집 EC2 50대에 대한 Alert 10개 생성 1분에 1번씩 평가 테스트 결과 평가되는 주기로 10~15kb 네트워크 트래픽 발생 write iops 5~10MB/s 발..
yeongki0944
영기