어렵습니다. 요놈들.
요구되는 많은 사전 지식들과 이들의 종합적인 이해가 반드시 필요한 것 같습니다.
현재 사이드 프로젝트로 진행 중인 KubeForm 프로젝트를 개발 중인데, 요 프로젝트가 뭐하는 놈인가 하니
사용자가 작업한 도커 이미지를 올리고 이 이미지 오브젝트들을 Drag&Drop으로 간단하게 구성하면 쿠버네티스 클러스터를 클라우드 환경에 자동으로 만들어주는 서비스입니다. 제가 하는 작업은 서버로 전송된 오브젝트 구성 구조, 사용자의 IAM 유저를 받아 자동으로 EKS 환경 구축 + 모든 인프라 과정 Terraform 모듈화 시켜서 제공하는 그런 작업입니다.
사실 시작할때만 해도 큰 걱정은 없었습니다. 서버리스 중심으로 구성하긴 했지만 AWS 서비스 많이 공부하고 활용하기도 했고, Terraform도 사용한 경험이 있었으니까요.
쿠버네티스만 공부 조금 하면 바로 구성할 수 있을 것 같은데? 하고 바로 공부를 들어갔습니다. 그런데...
사실 쿠버네티스부터가 정말 잘 설계된 오픈소스고 현재나 근미래나 가장 많이 쓰이게 될 컨테이너 오케스트레이션 툴임이 분명하지만, 복잡하기도 하고 정말 많은 용어들과 구성들 때문에 학습곡선이 꽤 가팔랐습니다. 현재는 단일 클러스터에 관리도 EKS에 맡기고 있지만 현업에서는 다중 클러스터에 관리도 직접 해야 하니 그 난이도는 엄두가 나지 않을 정도네요.
그래도 며칠동안 공식 docs를 정독하고 쿠버네티스 관련 컨퍼런스 영상도 보며 공부한 덕분에 전체적인 설계 방식과 용어들과 플로우에 대해 이해하기 시작했습니다.
하지만 문제는 쿠버네티스 뿐만 아닙니다. EKS 환경에 클러스터를 구축해야 하니까요.
사실 그럼 EKS만 만들면 끝나는 게 아니야?라고 할 수도 있지만 절대 그렇지 않습니다. 우선 기본적으로 EC2 인스턴스, VPC CIDR 모델링, 서브넷 설계, 보안 그룹 설정부터 시작해 클러스터가 외부와 통신할 수 있도록 인그레스 컨트롤러 역할을 맡을 ELB... 연관돼서 사용하고 고려해야 할 클라우드 리소스가 한둘이 아닙니다.
거기다 그 모든 과정을 Terraform으로 프로비저닝 해야 합니다. 테라폼 또한 입문하기에는 별거 아닌 것처럼 보여도 클라우드의 많은 리소스들에 대한 이해가 필요해서 잘 쓰기는 어려운 도구라고 생각했는데, 많은 AWS 리소스를 Terraform으로 관리해야 하니 보통 일이 아니었습니다.
그런데 어려운 동시에 재미있습니다. 쉬운 문제는 무료함을 주고 어려운 문제는 영감을 줍니다.
확실히 이론으로 접하는 것보다 직접 개발하면서 부딪히니 배우는 것도 많고 알고 싶은 것도 많아집니다. 개발이 끝나면 이 프로젝트 개발 과정에 대해 포스팅을 할 계획입니다. 또 kubernetes를 공부하면서 딥 다이브를 하고 싶어 져 CKA 자격증도 관심이 생겼습니다. 다음 달부터는 CKA 준비도 시작할 것 같네요.
더운 여름 무사히 보내시길 바랍니다.
'🥴데일리' 카테고리의 다른 글
11월 즈음의 근황 (4) | 2023.11.11 |
---|---|
공부할 핑계거리 만들기 (0) | 2022.09.19 |
내가 면접을 떨어진 이유 - SRE 인터뷰 (7) | 2022.01.28 |
2021년 회고록 (1) | 2022.01.07 |
내가 대회 알고리즘을 접은 이유 (26) | 2021.11.11 |