본문 바로가기

반응형

EKS

(11)
Kubernetes GPU Operator와 Time Slicing 간단히 알아보기 EKS에서 MLOps를 할 수 있도록 공부중인데 그 과정들을 하나씩 정리해보려 한다. 그 첫 번째로 GPU Operator와 Time Slicing에 대해서 정리해본다. GPU Operator란? NVIDIA GPU Operator는 k8s 클러스터 내에서 NVIDIA 계열의 GPU 노드로 파드를 편하게 관리할 수 있도록 도와주는 툴이다. Operator 패턴이란? Operator 패턴이란 CR(Custom Resource) 파일을 우리가 k8s에게 제공하면 k8s에 파드 형태로 떠있는 Operator가 이를 지속적으로 확인하면서 Custom Resource에 정의된 spec 대로 원하는 리소스들(ex. NVIDIA Device Plugin과 관련된 파드 및 Service Account, Role, ....
[DOIK 스터디 2기] Percona Operator for MongoDB 개념 및 실습 DOIK 스터디 2기 - 4번째 글로 Percona Operator for MongoDB 오퍼레이터에 대해서 정리해본다. 공부하는 내용을 정리하는 글이라 부정확할 수 있음 주의 MongoDB 개념에 대해서 간단히 정리해보기 Document : MongoDB에서 데이터를 저장하는 단위이며 JSON 형태로 표현되며 저장될 때는 Binary JSON(BSON) 경량 형태로 저장되기 떄문에 더 빠르고 효율적으로 데이터를 저장할 수 있다. >> 모든 Document에는 “_id” 필드가 있고 없게 생성할 경우 ObjectId 타입의 고유 값을 저장한다. Collection : MongoDB Document(문서)의 모음이며 RDB의 Table과 유사함 > 컬렉션은 서브컬렉션을 가질 수 있지만 종속성은 없다. (e..
[AWS] 폐쇄망 EKS 환경에서 Squid Proxy를 활용하여 HTTP 아웃바운드 통신하기 1. 개요 페쇄망 환경에서 Squid Proxy를 통해 HTTP, HTTPS Proxy를 설정하는 방법에 대해 설명한다. 폐쇄망에서는 NAT Gateway나 NAT Instance를 사용하지 않기 때문에 내부에서 외부 인터넷망으로 접근이 불가능하다. 예를 들어 PG사에 결제한다거나 외부 택배사 모듈과 연동한다거나 등이 불가능한데, 이를 가능하게 하기 위해서는 1. Public Subnet에 프록시 서버를 구성하고 2. EKS Container에서는 프록시 서버를 통해 외부망에 접근함을 명시해줘야 한다. 필자는 Squid Proxy를 통해 폐쇄망에서 외부 인터넷망에 접근하도록 설정하였다. 2. Squid Proxy 설정 설치하는 방법은 인터넷에 아주 많이 나와있고 간단하기 때문에 설치 방법 설명은 생략한다..
[EKS] Data Transfer 비용 절감 작업 (istio destination rule, topology aware hints) EKS 상에서 Data Transfer 비용을 줄이기 위해 했던 노력들과 그 후기를 정리해본다. 결론을 말하자면 서비스 안정성이 더 우선이기에 Data Transfer 줄이기 위한 작업은 포기했다. 1. Data Transfer 발생 원인Data Transfer 비용은 크게 2가지에서 발생되었다. 1. NAT Gateway 비용 2. AZ 간 통신 비용 여기서 이제 Bytes 단위로 과금이 되는데 AZ 간 통신할 때 Network Bytes가 많으면 그만큼 과금이 된다고 보면 된다. 본 글에서는 AZ 간 통신 Data Transfer 비용에 대해서 다룬다.2. EKS에서 Data Transfer 절감 방안요즘 인터넷에 EKS에서 Data Transfer를 절감할 수 있는 다양한 방안들에 대해서 많이 소개..
[EKS] CA의 대체, Karpenter 사용 후기 요즘 EKS를 사용하고 있는 회사들이라면 Karpenter에 대해서 한번씩은 들어봤을 것이다. Karpenter는 EC2를 생성 및 오토스케일링 해주는 오픈소스 서비스로 Cluster Autoscaler에 대한 단점들을 보완해준다고 많이 설명되어 있다. Cluster Autoscaler에 비해 Karpenter가 가지는 장점 및 단점들은 다양한 매체나 블로그 글에 많이 소개가 되어 있기 때문에 Karpenter에 대한 소개는 아주 간단히 진행하고 현재 Karpenter를 어떻게 사용하고 있고 Karpenter를 사용할 때 주의 사항 및 간단한 팁들을 소개할 예정이다. # 1. Karpenter 구성 요소 Karpenter는 크게 다음의 요소로 구성되어 있다. - Karpenter(Pod) : 실질적으로 ..
[EKS] CoreDNS 운영 시 소소한 팁 (Rcode, ndots) 1. 개요 필자의 회사는 모니터링 서비스로 Datadog을 이용하고 있는데 CoreDNS 쪽에서 특이사항을 발견했다. 바로 rcode 중 nxdomain 수치가 높다는 점이였다. nxdomain는 non-existing domain name의 약자로 domain name이 존재하지 않다는 뜻이다. 즉, CoreDNS 에서 질의를 했을 때 domain name이 존재하지 않는 메트릭이 다소 발생한다는 뜻이다. 2. 원인 원인은 다음과 같다. bash-4.2# cat /etc/resolv.conf search testdemoapp-dev.svc.cluster.local svc.cluster.local cluster.local ap-northeast-2.compute.internal nameserver 172..
[EKS] 아주 가벼운 Loki + Grafana + Promtail 로그 시스템 구성 본 글은 Loki Stack을 활용하여 설치하는 내용이다. 만약 Loki를 로그 시스템으로 도입하기 위해 필요한 내용들을 참고하고 싶다면 아래 글을 읽어보면 좋을 것 같다. (아래 글은 설치 및 구성 방법에 대한 내용을 소개하지 않는다.) https://nyyang.tistory.com/167 [EKS] 로그 시스템 Loki 도입을 위한 몇가지 운영 팁 Loki로 로그 시스템을 구성해서 쓴지 어느덧 3개월이 넘어간다. Loki를 맨 처음에는 Loki Stack(Grafana, Promtail, Loki)로 구성해서 모놀리식 형태로 쓸 수 있지만 쓰다보면 다양한 문제점들이 발견된다. 1. nyyang.tistory.com 1. 개요 ELK 스택이 부담스럽다면 Loki Stack(Promtail + Loki..
[Istio] EKS 환경에서 Istio로 여러개의 ALB, NLB 모두 사용하기 1. 개요 현업에서 외부 트래픽 인입을 받아내기 위해 Istio를 사용중인데, default 설정을 사용하면 CLB가 설치된다. EKS로 쿠버네티스를 운영중인 환경에서 Istio로 ALB, NLB를 각 환경에 맞게 사용하고 싶을 경우에 어떻게 해야 할까? ## 전제 조건 ## - AWS Load Balancer Controller 설치 AWS Load Balancer Controller는 Kubernetes에서 YAML 파일을 배포하는 것 만으로 AWS Load Balancer Controller 파드가 이를 감지하여 AWS API를 사용하여 요청한 대로 Load Balancer를 설치 및 구성해주는 오픈소스이다. 해당 AWS Load Balancer Controller가 설치되어 있지 않다면 내장 설치..

반응형