회고모음

쿠버네티스 커리어에 중요한기술은 무엇일까?

악분 2024. 3. 1. 11:26
반응형

저는 쿠버네티스로 커리어를 시작했고 현재도 쿠버네티스가 메인으로 업무를 맡고 있습니다. 온프레미스 쿠버네티스 경험 약 2년 6개월, EKS경험이 6개월이 있습니다. 

 

오늘 문득 아침에 쿠버네티스 커리어에 중요한 기술은 무엇일까? 라는 질문이 머리에 스쳐갔습니다. 생각난 김에 두서없이 질문에 답변을 적으려고 합니다.

 

아직 대용량 트래픽을 처리한 경험이 없다는 점을 고려하여 읽어주시면 감사드립니다.

 

첫 번째, 쿠버네티스 커리어에서 중요한 것은 쿠버네티스 기술이 아니다.

약 3년 정도 쿠버네티스 업무를 하면서 느낀 거는, 쿠버네티스 업무는 많은 부분이 쿠버네티스 기술이 아닙니다.

 

쿠버네티스 기술이 무엇인지 정의할 필요가 있는데, 쿠버네티스 구축, manifest 생성, 파이프라인 생성, ingress 생성, 쿠버네티스 업그레이드가 전부입니다. 재경험상 이 업무는 막 들어온 신입기준으로 3~4개월이면 할 수 있는 업무입니다. 그리고 쿠버네티스를 다뤄보지 않는 개발자도 한달이라는 시간을 주면 한달 안에 완료합니다. 다만, 개발자가 개발에 집중할 수 있게 안시킬뿐이죠. 

 

그러면 쿠버네티스 업무는 무엇을 하냐라는 질문이 생기는데요. 요구사항을 쿠버네티스에 잘 적용할지에 대한 고민입니다. 대표적인 예가 쿠버네티스로 마이그레이션 하는 업무입니다. 서버기반으로 운영하던 애플리케이션을 쿠버네티스로 마이그레이션 할 때 어떤 부분은 힘들것 같은지 파악하고 어떻게 적용할지 고민합니다. 다른 예는 쿠버네티스에서 실행 중인 애플리케이션이 성능이 안나오면 개발자랑 같이 성능 최적화를 해야 합니다. 

 

위에서 말한 업무는 쿠버네티스 구축, manifest 생성, 파이프라인 생성 등에 대한 이야기는 전혀 하지 않습니다. 어떻게 요구사항을 쿠버네티스에 잘 적용할지 고민만 합니다. 이런 경험이 점점 많아지다 보니 쿠버네티스 업무는 많은 부분이 쿠버네티스 기술이 아니다라고 생각하고 있습니다.

 

두 번째, 쿠버네티스 기술에서 중요한 것은 네트워크,  개발경험인 것 같다.

년차가 쌓일 수록 중요한 기술은 쿠버네티스가 아니라 네트워크와 옵저벌리티(observability), 개발경험이라고 생각하고 있습니다.

 

네트워크

네트워크를 모르면 여러 분이 많은 애플리케이션을 외부에서 호출하지 못하고 다른 팀과 협력이 불가능합니다. 특히 다른 팀의 협력부분이 년차가 쌓일 수록 중요하다고 생각합니다.

 

개발자가 만든 기능을 다른 팀도 같이 사용하려는 경우가 자주 일어납니다. 그러면 개발자가 만든 애플리케이션을 호출이 되도록 만들어야 하는데요. 단순하게 생각하면 애플리케이션 도메인 주소 알려주면 끝아니야?라고 생각할 수 있습니다. 그런데 만약 기능을 요구하는 팀의 네트워크 대역과 내가 만든 쿠버네티스 대역이 같으면 어떻게 될까요? 당연히 라우팅 규칙이 겹치기 때문에 호출이 불가능합니다. 이런 상황에서 여러분은 어떻게 문제를 해결하실 건가요?

 

또 다른 예는 EKS에서 network policy와 security group for pod를 적용해서 네트워크 보안을 향상시키고 싶다는 요구사항이 생겼습니다. 무늬만 쿠버네티스 실제 기술은 네트워크입니다. 

 

또 다른 예는 EKS에 ipv6를 적용해야 하는 요구사항이 생겼습니다. 쿠버네티스를 잘 알더라도 ipv6를 적용하는거는 전혀 다른 이야기입니다. 

 

또 다른 예는 네트워크 통신이 갑자기 안되는 장애가 발생했습니다. 여러 분은 빠른 시간안에 네트워크 문제 원인을 찾고 해결해야 합니다. 제 경험상 쿠버네티스에서 발생한 네트워크 오류는 쿠버네티스 기술로만 장애처리가 안됩니다.

 

개발경험

개발경험이 중요하다고 생각한 이유는 내가 만든 쿠버네티스에 어떻게 애플리케이션을 실행시킬지 고민을 해야하고 성능 최적화, 장애해결에 필요하기 때문입니다. 

 

개발경험은 의미가 너무 추상적인데요. 아키텍처 이해 능력, 데이터베이스 이해, 개발자가 만든 애플리케이션 로직 이해, 코드 에러 메세지에 대한 이해로 정의할 수 있을 것 같습니다.

 

반응형