현재 재직중인 회사에서는 모든 서비스가 EKS 환경으로 구성되어 있다. 처음에는 EKS에서 서비스를 제공하는것이 당연하다고 생각했는데, 꼭 그렇지만은 아닌것 같다. 어떤 회사는 EC2를 기본 환경으로 하는곳도 있고, ECS를 기본으로 하는곳도 있다. 그리고 최근의 Devops 공고를 보면 ECS to EKS 마이그레이션 경험을 많이 요구하는것 같다. 그래서 이번 기회에 ECS와 EKS의 공통점과 각 장점과 단점에 대해서 정리해보려고 한다. EKS는 현재 직접 사용하고 있고, 운영중이기 때문에 어느정도? 정보의 정확성은 있다고 생각하나, ECS는 사용해본적이 없다. AWS Docs/구글링의 글을 바탕으로 내가 이해한 내용을 정리하였기에 일부 틀린 내용이 있을 수 있다. 틀린 내용이 있다면 자유롭게 댓글을..
Docs를 참고하고 최대한 경험한 내용을 토대로 기재하였으나, 혹시나.. 잘못된 내용이 있을 수 있습니다. 잘못된 내용은 코멘트로 알려주시면 확인 후 반영하도록 하겠습니다 :) 최근 EKS 노드 관리를 위해 CAS -> Karpenter로 Migration 하였다. CAS, Karpenter의 장/단점을 정리하는 게시물이다! CAS/Karpenter 2가지 플러그인만 비교한것으로 비교 구분 CAS Karpenter 비고 노드 생성 시간 느리다. - Warmpool 도입 전 약 4분 - Warmpool 도입 후 약 36초 빠르다. - 약 1분 Karpenter - NotReady 상태에서도 Pod 할당이 가능하기 때문에 Pod 할당시간이 더 빠르다. 비용 효율화 미흡함 비용 효율 CAS - 미리 지정한 N..
노드를 Spot으로 운영하다보면 가장 고민이 되는 부분이 Fail-over와더 작은 Spot 노드로 변경할 수 있을때 변경이 가능한가? 이다. 하지만 CAS에서는 Spot 노드에 대해서 노드 통/폐합 작업을 하지 않는다. 하지만 Karpenter는 노드 통/폐합 기능을 제공한다! Karpenter를 통해 Provisioning(Spot) + Deprovisioning 까지 같이 적용한다면 노드 비용을 극한까지 효율화할 수 있다. 다만, 아무리 Karpenter를 도입하더라도 Deployment의 Resource.Request를 높게 잡아버리면.. 효율이 떨어진다. Karpenter 도입 + Resouce.Reuqest도 어떤식으로든? 조정을 해야한다. [Karpenter] Karpenter를 활용하여 E..
많은 기사에서도 접할 수 있듯이 올해 스타트업의 시장이 좋지 않다. 그래서 현재 재직중인 회사에서도 불필요한 또는 비효율적인 AWS 인프라 비용을 줄이라는 특명이 내려왔다. 그래서 AWS 인프라 비용에서 가장 많은 부분을 차지하는 EKS Node 비용을 먼저 줄여보기로 했다. 가장 좋은 방법은 각 Deployment의 Request/Limit 사이즈를 조절하는 것이다. 하지만 이것은 개발팀에서 조절하는 부분이고 데브옵스팀에서는 관여하기 어렵기에 그럼 노드를 효율적으로 사용할 수 있는 부분을 찾아보기로 했다. 그러던 중 팀원이 좋은? 괜찮은? 오픈소스인 Karpenter를 공유해주었고 당사에 적용한 내용을 기술해보고자 한다. 먼저 대부분의 EKS를 운영하는 회사에서는 Cluster Auto Scaler(이..
개인적으로 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) 최근에 EKS 업데이트를 했었는데, k8s 버전에 맞는 coreDNS 업데이트도 했다. coreDNS가 이름만 들어보면 언뜻 DNS 서비스를 뜻하는것 같은데, 정확히 어떤 개념이고 어떤게 동작하는지 궁금했다. CoreDNS란 무엇인가? k8s docs를 보면 아래와 같이 쿠버네티스 클러스터의 DNS 역할을 수행하는 서버로 표현되어 있다. CoreDNS는 쿠버네티스 클러스터의 DNS 역할을 수행할 수 있는, 유연하고 확장 가능한 DNS 서버이다. 쿠버네티스와 동일하게, CoreDNS 프로젝트도 CNCF 가 관리한다. 어렵게 표현했지만 결..
처음부터 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) EKS를 운영하다 보면 많은 Worker node가 있고, 수많은 Pod가 생겨난다. 그리고 이때 운영자는 별도 작업이 없지만 EKS가 자동적으로 pod에 private ip를 할당해준다. 어떻게 되는걸까? EKS 네트워킹에 대한 기본 개념과 방법에 대해서 알아보자. EKS 네트워킹 기본 구조 가장 기본적인 EKS 네트워킹의 기본 구조이다. EKS node는 다수의 Pod을 생성해야 하고, 이때 많은 Private ip가 필요로 한다. 이때 AWS에서는 AWS VPC CNI 플러그인을 제공해주고 이것은 K8s과 AWS VPC간의 브릿지 ..