쿠버네티스 교육 47

EKS 비용 절감

이직한지 5주 되었는데 그동안 비용 절감 관련 작업한 것을 정리해 본다. 항상 느끼지만 비용 관련해서는 특별하고 어려운 기술이 필요한 것이 아니고 이미 아는 내용을 귀찮아 하지 말고 꼼꼼하게 적용하려는 개미의 근면함이 필요하다. 다른 사람, 팀과 공유하고 설득하는 과정이 참 중요하다. 그리고 스피드가 중요한 스타트업에게 새로운 기능을 추가하는 것이 비용절감 보다 더 가치있는 일이 될 수 있다. 어떤 일이 더 중요한지는 각 회사마다 상황이 다르니 적절한 의사 결정이 필요하다. 비용 10% 아끼는 것보다 새로운 기능 추가해서 100%, 200% 성장하는 게 훨씬 의미있는 일이 될 수 있다. 물론 회사 일이란 당연하게도 속도와 비용 절감 2가지 토끼를 모두 잡는 지혜가 필요하다. (이게 임원진 회의에서나 가능..

[제니퍼 소프트] EKS 교육 - 3. Argo-CD를 이용한 GitOps 시스템 구축

많이 빠른 감이 있지만 EKS 교육 3번째로 GitOps, ArgoCD를 다루었다. 내가 EKS를 설치할 때 Argo-CD App-Of-Apps 패턴을 사용한다. 앞으로 애플리케이션을 설치할 때 ArgoCD를 이용할 예정이라 쿠버네티스 네트워크, 스토리지에 관한 설명 전에 ArgoCD부터 설명하였다. EKS, 쿠버네티스를 이미 사용하고 있는 독자라면 이해가 어렵지 않겠지만 그렇지 아닌 분들은 어려울 수도 있을 것 같다. 하지만 모든 것이 그렇듯이 처음이 어렵지 두번째는 그리 어렵지 않다. 일단 이해가 안되어도 간단한 실습으로 넘어가고 다시 보면 이해가 훨씬 잘 될 것이라 믿고 ArgoCD부터 다루었다. https://jennifersoft.com/ko/blog/tech/2023-08-30-jennifer..

[제니퍼 소프트] EKS 교육 - 2. 테라폼을 이용한 EKS 설치 및 로컬 관리 환경 구축

EKS 설치 관련된 글 입니다. EKS 교육 - https://jennifersoft.com/ko/blog/tech/2023-08-23-jennifer-kubernetes-2/ 2. 테라폼을 이용한 EKS 설치 및 로컬 관리 환경 구축 1. 코드를 이용한 쿠버네티스 설치의 장점 이 글을 읽으시는 독자가 쿠버네티스 담당자가 되어 EKS 설치 업무를 진행한다고 생각해 보겠습니다. EKS를 어떻게 설치하는 것이 좋을까요? 지금까지 jennifersoft.com

[제니퍼 소프트] EKS 교육 - 1. 쿠버네티스의 3가지 주요 특징과 네이티브 vs 매니지드 쿠버네티스 비교

1회 차 글 입니다. https://jennifersoft.com/ko/blog/tech/2023-08-16-jennifer-kubernetes-1/ 1. 쿠버네티스의 3가지 주요 특징과 네이티브 vs 매니지드 쿠버네티스 비교 필자는 현업 DevOps로 네이티브 쿠버네티스와 매니지드 쿠버네티스(EKS) 모두 경험하였습니다. 실제 운영하는 입장에서 쿠버네티스의 3가지 주요 특징과 네이티브와 매니지드 쿠버네티스의 차이 jennifersoft.com

[제니퍼 소프트] EKS 교육 - 목차

제니퍼 소프트와 함께 매 주 EKS 교육 관련된 내용을 연재합니다. 앞으로 20주 간 기존에 제가 해 왔던 것처럼 실습 위주로 EKS를 알아갈 수 있도록 블로그 글을 연재합니다. 아래 제니퍼 소프트 홈페이지를 방문하시면 제가 기존에 작성했던 내용보다 훨씬 더 정리되고 검증된 버전의 글을 보실 수 있습니다. (제 블로그의 기존 EKS 교육 관련 글은 비공개 처리하였습니다.) https://jennifersoft.com/ko/blog/tech/kubernetes-tech-note-intro/ 제니퍼 쿠버네티스 기술노트 1. EKS 블로그 연재 목표 현대 기업의 가장 중요한 문제는 고객의 다양한 요구를 빠르고 안정적으로 제공하는 것입니다. 빠른 대응과 안정적인 운영이라는 양립하기 어려운 문제를 해결해야 합니 ..

Tracing - OpenTelemetry + Tempo

회사에서 테스트한 Tracing 내역을 공유합니다.  Observability 중 metric(Prometheus), logging(Loki)은 구성하였는데 tracing은 구축하지 않았다. 대중화되지 않고 개발자도 익숙하지 않아 어떻게 사용하는지 모르는 경우가 많다. 아마도 APM을 사용하지 않는 회사라면 크게 쓸모를 못 느낄 듯. 간단히 트레이싱의 정의를 알아보면 다음과 같다. 트레이싱(Tracing)은 소프트웨어 개발과 성능 모니터링 관점에서, 요청 또는 트랜잭션이 응용 프로그램이나 시스템의 다양한 구성 요소를 통과하는 과정을 추적하고 모니터링하는 것을 말합니다. by 챗GPT 그림으로 표현하면 아래와 같다. 개인적으로 하나의 트랜잭션이 어디, 어디를 거치고 각 단계에서 얼마나 소요되는지 추적(t..

오프라인 EKS 교육 목차

외부 EKS 교육 요청이 있어 제목과 목차를 정리했다. 그리고 지난 토요일에는 쿠버네티스 교육을 진행했다. 이직하고 처음이니 거의 1년 6개월만이다. 재미있었다. 교육을 하면 힘들다. 특히 준비하는데 많은 시간이 걸린다. 그래도 보람이 있다. 내가 아는 게 다른 사람에게 도움이 된다는 기쁨이 있다. 아무튼 준비하는 김에 이걸 가지고 개인적으로 교육을 해보아도 괜찮다는 생각이 든다. 혹시 아래 내용으로 오프라인 EKS 교육에 관심있으면 개인 메일(erdia22@gmail.com)으로 문의 바랍니다. 비용은 1일 6시간 기준으로 150만원 생각하고 일정과 교육 내용은 조정 가능합니다. EKS 외 네이티브 쿠버네티스 교육도 가능한데 이건 별도로 목차를 준비해서 따로 포스팅할 예정이다. 제목 : 모두를 위한 실..

AWS ALB & LoadBalancer Controller

우리 회사는 현재 EKS 환경의 NLB + Ingress-nginx controller를 사용하고 있다. 이를 AWS ALB + LoadBalancer로 변경을 고려하고 있다. ALB는 가시다님 스터디에서 배웠는데 이를 업무에 적용하기 위해서 검토하고 있는 내용을 포스팅한다. 현재 문제점 외부에서 인그레스 접속 시 NLB - EKS Node(externalTrafficPolicy:cluster 사용 중) - Ingress-nginx controller - Target Pod 등 4개 Hop을 필요한다. 4개 Hop이나 거치니 성능 제약이 있겠다 수준으로 알고 있었지 큰 문제를 못 느끼지는 못했는데(장애만 나지 않으면 넘어가는 안일함 그리고 성능을 측정할 구체적인 방법도 없기도 하고) Node AutoSc..

Github Action Self-hosted 세팅

EKS를 1.23 to 1.24 업그레이드하고 컨테이너 런타임으로 docker를 더이상 사용하지 못한다. 우리 회사는 젠킨스를 사용하고 이미지 Build를 docker를 사용하는데 Kaniko로 변경해야한다. 그런데 젠킨스는 전임자가 설치하였고 내가 젠킨스를 잘알지 못해 동료가 Kaniko 변경 작업에 시간이 많이 걸렸다. 또한 Kaniko로 변경하면 Jenkinsfile도 다 변경하는 나름 거대한 추가 작업이 있다. 전부터 젠킨스는 UI도 불편하여 개발자도 그리 좋아하지 않는 등 레거시 느낌이 있어 교체하고 싶었는데 잘되었다 싶었다. 다른 오픈소스 대안으로 Tekton을 검토했는데 설치가 쉽지 않았다. 그런데 마침 회사 개발자분이 깃헙 액션을 Self-hosted로 사용하면 기존 3,000분(githu..

파일시스템 기반 Loki 설치

로키를 이용하여 쿠버네티스 로깅 시스템을 사용하고 있다. 그런데 로키가 스토리지를 오브젝트 스토리지 기반으로 변경하고 있었다. 로키 헬름 차트의 기본 스토리지도 s3이고. 그라파나 로키 공식 홈페이지에서도 오브젝트를 스토리지 사용하는게 주요 장점이라 한다. 실 서비스 환경에서는 AWS를 사용하기에 로키를 큰 어려움없이 s3 기반으로 변경을 하였다. s3 사용하니 기존 파일시스템에 비하여 오브젝트 스토리지라 비용이 저렴하다.(사용한만큼만 지불해도 되고) 그리고 write, read 파드가 분리되고 각각 3개의 파드로 실행되어서 성능 향상이 된 것이 아주 컸다. 기존 파일 시스템 기반에서는 성능 문제로 로그 조회가 안되는 문제가 있었는데 어느 정도 해소되었다.(엘라스틱서치를 같이 사용하고 있기는 하다.) 하..