축 dev 카테고리 신설 🥳

EKS 개발환경 입문자의 가이드

eks 입문 당시 글쓴이는 어느 정도 수준이었는지

나는 통계 이론과 R만 하던 사람인데 직장 2년 다니면서 자연스럽게 알게된 python, docker, spark 정도가 있고 eks상에서 서비스 개발하는 업무를 갑자기 맡게 되어 당황스러웠다.

난이도

docker만 아는 상태에서 eks를 바로 이해하는 건 매우 고단하다. 새롭게 이해할 과목 자체가 많다.

  1. 일단 k8s에서 docker의 비중이 생각보다 엄청 작다.
  2. 그리고 k8s와 eks는 생각보다 차이가 있다.
  3. aws의 여러 서비스를 엮은게 eks이기에 aws에 익숙해야만 한다.
  4. app 설치는 helm을 쓰는데 이 또한 엄청 쉬워보이나 막상 쉽진 않다.

얼추 좀 알겠다고 생각이 든건 working time만 해서 2주 정도 걸린 것 같다.

공부 방법

관련해 좋은 한글 문서는 딱히 모르고 공식문서와 예제 복사가 최고의 공부 효율을 낸다. 무조건 eks 공식문서는 정주행하는걸 추천 👍 eksworkshop이라는 문서는 좀 별로라고 생각한다.

서비스 개발에 필요한 건 bitnami repo에서 건질게 많다고 생각한다.

tool 추천

  1. rancher: 얘기가 많은데 비추. 너무 무겁고 eks랑 fit이 떨어진다고 생각.
  2. k8dash: ui는 거의 필수라고 생각하는데 이게 설치 쉽고 속도 빠르고 기능도 적당.
  3. eksctl: 공식이기도 하고 편리함이 장점. 잘 쓰려면 cluster설정파일을 잘 짜는게 중요함.
  4. kube-prompt: kubectl tool의 유일신. 다른건 기능이 그닥이라 버림.

실습 순서

자기 업무에 따라 바뀔 수 있지만.. hello world 찍는게 최우선이라고 생각한다.

  1. 일단 eksctl로 제일 쉬운 cluster를 만들고
  2. alb를 달아주고 2048 게임도 띄워보고
  3. metrics server 깔고
  4. k8dash 설치해서 alb 연결 이정도까지 하면 가장 짧은 시간에 핵심적인 것은 다 경험할 수 있다고 생각한다….

사소한 실수

  • rancher를 처음부터 보기보단 나중에 eks를 좀 알고 보는게 맞다고 생각한다.
  • kubernetess 문서보다 eks 문서를 먼저 보는게 좋고 2년 이상된 문서는 대부분 가치가 떨어지니 주의. (version up이 특히 빠른가보다)
  • 원활한 개발을 위해선 kubectl과 yaml 파일을 피할 수 없었다… 처음부터 피하지 말고 받아들이자.
  • cluster를 삭제하기 전에 내부에 깔려있는걸 다 밀어주면 삭제가 훨씬 잘된다.