작성
·
194
1
안녕하세요 질문이있어서 글 남깁니다.
컨테이너 기반으로 서버 구축시에 쿠버네티스를 통하여 스케일 아웃이되어 트래픽 분산을 할 수 있으며 사용 리소스에 따라 컨테이너를 오케스트레이션하여 비용을 절감시킨다고 알고 있습니다.
그러나 생각보니 실질적으로 가상머신 내부의 컨테이너 기술을 사용하는거고 가상머신 자체를 스케일다운을 하지 않는 이상은 컨테이너 영역에서의 오케스트레이션으로 비용절감이 의미가 있을지 궁금합니다. (컨테이너 기반 서버의 수는 리소스에 따라 감소하나 실제 윗단 가상OS의 스케일 다운은 자동적으로 처리가 안되기 때문입니다.)
이에 관련하여 왜 컨테이너를 사용시 비용이 절감되는지 자세한 이유를 설명듣고 싶습니다.
감사합니다.
답변 1
0
안녕하세요
현재 강의랑 약간 거리가 있지만, 초반에 아주 잠깐만 '컨테이너가 왜 좋을까요'를 언급한 부분과 약간 연관성이 있어서 궁금함 해결 정도의 수준으로 설명을 좀 드릴께요. (아시면 더 학습에도 도움이 될꺼 같아서요.)
비용 절감적인 측면에서는 쿠버네티스는 일단...소규모에서는 도움이 되지 않습니다.
(이런 답변을 바라신게 아닐수도..덜덜덜...)
왜냐면요. 어쨌든 시스템에 무언가를 더 올리는거니까요 관리하겠다고 Pod가 올라가는게 현재 Native k8s인 저희 시스템만 해도 Pod가 여러개잖나요 마스터에만 있는 것두 아니구...
그런데 현대 IT는 자원을 좀 쓰더라도 생산성을 높일 수 있다면, 이 모든걸 희생하자.(이용하자?)
로 진행하고 있어요. 그래서 조금 느리거나 리소스는 더 먹어도 파이썬을 쓰는거고
(C가 사실 정말 좋답니다. 어렵고 사람이 안 좋아하게 생겨서 그렇지..)
그래서 비용적인 측면에서를 단순히 자원을 적게 쓴다의 관점이 아니라.
생산성을 높이고 효율을 높이고 안정성을 높이고 등등의 모든 비용을 다 고려했을때, 쿠버네티스는 사실 정답에 가깝습니다. (다른 대안이 없어요..앞으로 더 편향이 심해질꺼에요 이정도로 기울어진 배가 다른 곳으로 돌아가는걸 본적이 없어요.)
TL;DR (길어서 안 보실까봐 요약)
소규모 환경(즉 워커노드 1개 환경, 또는 Pod 단순 개발환경, 개발자라면 virtual python environemnt 같은?)
은 docker swarm, minikube, kind, k3s등 아주 단순한 구조가 답일수도 있어요. 단순히 나만 사용한다면요.
규모가 있는 환경(실제로 컨테이너로 무언가를 하겠다는 환경, 주로 실 환경)
은 네이티브 쿠버네티스, 또는 제가 소개한 openshift, eks,aks,gke등에 답이에요. 거기서 중요한건 안정적이며 보증되는 환경이어야 하거든요..물론 네티이브가 보증이라는건 아니지만, 네이티브를 이해하지 못하고 다른 제품으로 넘어가면 편향(Bias)이 생겨서, 나중에 다른거할때 좀 어려움이 있지 않나 싶어요.
그래서 공부는 꼭 꼭 꼭 네이티브 쿠버네티스로 하는걸 추천합니다.
질문의 답? 컨테이너 사용시 비용 절감
이건 아마 강의때 얘기한거 같은데, 컨테이너는 하이퍼바이저라는 리소스를 추가로 사용하지 않고, 독립적인 커널도 두지 않아서 해당 리소스를 절약할 수 있어요. 또한 거쳐가는 구간이 하이퍼바이저에 비해 적어서 더 빠를 가능성이 높고요. 사실 컨테이너는 커널 입장에서 프로세스(ps하면 나오는 애들)라서요.
그러니 더 많이 올리고 더 많이 쓸수 있어서 비용이 절약됩니다.
질문이 좀 가상화와 컨테이너제이션과 섞여 있는거 같은데..포인트가 '쿠버네티스를 하는데 왜 비용이 절약되나요' 인거 같아서 위와 같이 답변 드렸어요. :)
보시고 궁금함이 해결이 안되었다면 다시 질문 주세요~!
조훈 드림.
답변 감사드립니다! 이해가 다 되었습니다~!
남은 강의 열심히 듣겠습니다 감사합니다!