쿠버네티스의 과거와 현재 그리고 미래

개요

쿠버네티스는 10주년을 맞이했다.
여태 어떤 길을 걸어왔으며, 앞으로 어떤 길을 가게 될 것인가?

발표자 - 조훈

이 분 보고 이 웨비나를 듣기로 결심했다.
메가존 소프트에서 Cloud Solutions Architect로서 클라우드 네이티브 환경에 대한 업무를 하고 있다.
쿠버네티스 앰배서더로서 국내 쿠버네티스 교육의 선두에 있다고 (개인적으로) 평가한다.
25년 kubecon 인도에서 발표할 예정.

쿠버의 과거

쿠버는 구글의 Borg로 시작되었다고 한다.
초기에 논문 형태로 나온 것으로 알려져 있는데, 조금은 다르다.
borg에 참여한 bryan brent가 들어간 것은 2000년대 초.
13년까지 본격적으로 borg로 만들게됐는데, 이 분이 14년에 처음 쿠버를 발표할 때, 내용이 성에 차지 않아 다로 내용을 정리했다고 한다.

Borg

초기에는 모놀리식하게 만들어져 확장성이 조금도 고려되지 않았다.
2003년도 당시에는 매우 제한적이었으나, 브렌트가 2009년 참여하면서 본격적으로 모듈들을 분리했다.
오메가로 만들어내면서 본격적으로 쿠버의 개념이 잡히기 시작한 것.
이전에는 파드의 개념은 있었으나 지금과 매우 달랐다고 한다.

이 당시 런칭 직전에 만들어진 것.

실제로 우리가 아는 쿠버네티스는 실질적으로 1.0이 나온, 2015년이라고 할 수 있다.
쿠버의 초창기 설립자들의 이야기를 알고 싶다면, kubernetes: the documentary를 보자.

쿠버의 현재

본인이 책을 쓸 21년 시점의 시장 분석했을 당시의 상황을 보고, 현재를 비교해본다.

21년에 있던 컨테이너 오케스트레이션 도구


mesos.
넷플릭스에서는 사용했다 했으나, 결국 현재는 전부 넘어가는 추세.

도커 스웜.
현재는 진짜 굳이? 이다.
그냥 도커 데스크톱으로 다 커버가 되는 영역.

nomad
하시코프의 기술인데, ibm에 인수된 이후 정책이 변화해서 조금씩 오픈소스 방향으로는 나아가지 않고 있다.
하시코프는 현재 볼트를 많이 밀고 있다보니 시장에서 점유율이 줄어드는 중이라고 한다.

결국 남은 것은 쿠버네티스 뿐이다.
쿠버 큰 특징 중 하나는 kube-api-server이다.

api server의 특징


api server는 여태 많이 발전해왔다.
가장 핵심이 되는 기술이기에 그렇기도 하다.
많은 요청을 수행하고, 많은 기능을 수행해야 하기 때문.
1.25 이후부터는 매우 안정적으로 일정한 용량을 가지고 개발되고 있다.

벤더 종속성 제거


1.31부터 거의 완전히 모든 벤더들을 없애냈다.
이전까지만 해도 aws, google 스토리지 클래스들이 내재돼있었는데 이런것들 다 없어졌다.
이제는 모든 회사들이 쿠버에서 제공하는 인터페이스에 맞춰 개발이 다시금 이뤄지고 있다.

쿠버의 미래

미래를 예측하는 것은 어렵지만, 재단의 방향성을 보면 조금 생각은 해볼 수 있겠다.
Linux Foundation 산하의 CNCF.

현재 졸업된 cncf의 기술들은 전부 쿠버 위에서 동작이 가능한 것들.
이 cncf의 상위 집단인 linux foundation은 어떻게 나아가고 있을까?
리누스 토르발즈(누구는 라이노즈, 누구는 토발즈.. 발음이 참 애매한 분인 것 같다.)은 올해 커널 코드의 상당 부분을 Rust로 전환하며 만족스럽다는 의견을 내비쳤다.
최신 기술을 받아들이고 효율적인 방향으로 나아가고자 노력하고 있다는 것.
그렇기에 IaaS의 표준 OS가 되지 않았는가.
쿠버네티스 역시 여태 그런 길을 걸어왔다.
많은 기술 시도가 있었고, 발전하며 실질적으로 현재는 PaaS의 표준 정도로도 말할 수 있을 법한 듯하다.
실제로 KPaaS라는 표현도 사용될 정도이다.

쿠버네티스는 플랫폼 엔지니어링을 지향한다.
어느 플랫폼을 쓰는지도 모르는 환경에서, 본인이 원하는 모든 것을 해낼 수 있도록 하는 것이 플랫폼 엔지니어링의 기조.
어떤 벤더가 있더라도 애플리케이션은 자유롭게 만드는 것.

정리

IaaS의 디팩토는 리눅스, PaaS의 디팩토는 쿠버네티스.
이것은 시장의 요구를 충족하고 리드하고자 노력했던 재단의 방향성에 의해 성립했다.
앞으로도 그럴 것이라고 발표자는 강력하게 추측하고 있다.

JD를 보면 Linux는 그냥 CS로 퉁쳐버리는 시대이다.
곧 쿠버네티스 역시 이런 방향으로 나아갈 가능성이 높다.
언젠가는 그냥 CS 지식이라는 범주 안에 자연스레 들어가는 지식이 되어버릴 것이다.

그럼 우리는 무얼 준비해야 하는가?
항상 코어 스킬이 중요하다.
GPT를 사용하더라도 단순히 사용하는 방법만 아는 것으로 전문성을 인정받지는 못 한다.
쿠버네티스의 코어를 공부하고 알아갈수록 그것은 우리의 지식 자산이 될 것이다.

뱀다리

곁들이는 마침말.

리눅스 재단에서도 ai에 대한 관심을 높이며 아예 산하 재단을 따로 출범시켰다.
이런 영역에서도 점점 나아갈 가능성이 높다.

참고