도커와 쿠버네티스의 개요 Ch.01

쿠버네티스란?

쿠버네티스란 무엇인지 간략히 알아보자.

쿠버네티스는 왜 쓸까

쿠버네티스는 컨테이너 오케스트레이션 서비스다.

굉장히 장점이 많은 서비스인데 그 중 특징적인 것들 위주로 빠르게 살펴보자.

  • 컨테이너의 신속한 배포가 가능하다.

  • 로드밸런싱, 네트워크 접근 제어 기능을 k8s에서 이미 제공한다.

  • 컨테이너 개수, CPU 사용률, 메모리 사용량을 설정할 수 있다.

  • 유연한 스케일 인/아웃 가능한 장점이 있다.

  • 새로운 버전의 애플리케이션을 무중단 배포가 가능하다.

  • 하드웨어 가동률을 높여 자원 낭비를 줄여준다.

쿠버네티스가 해결할 수 있는 문제

  • 애플리케이션의 빈번한 출시

  • 무정지 서비스

  • 초기 비용을 낮추고 비지니스 상황에 맞게 규모를 조정 (초기 클러스터는 낮은 장비로 배포하고 이후 트래픽이 증가하면 고성능 장비 투입 가능)

    • 1.11 버전 기준 k8s에 배포 가능한 노드의 수는 5000대
  • 쿠버네티스와 외부 서비스와의 연동 기능 제공

  • 개발 환경과 운영 환경의 분리 가능 (클러스터를 여러 개의 가상 환경으로 분할 하는 것이 가능)

  • 온프레미스와 클라우드 위에 구축 가능

  • 애플리케이션 중심의 오케스트레이션

  • 특정 기업에 종속되지 않는 표준 기술 (GCP든 AWS든 Azure든 카카오든 네이버든 어디든 구축 가능)

  • 서버들의 가동률 높이기 가능

    • CPU 사용률이 낮은 서버들이 노는 것은 퍼블릭 클라우드에서도 온프레미스에서도 바람직한 상황이 아님
    • k8s는 서버의 CPU 가동률을 높게 유지하면서 안정적인 서비스의 운영을 할 수 있게 도와줌

k8s 아키텍처

스크린샷 2020-12-04 오전 12 25 54

[직접 수제작한 아키텍처]

마무리

쿠버네티스의 핵심을 마지막으로 정리해보자.

  1. k8s는 대규모의 유저 요청을 받는 서비스의 백엔드에 적합한 플랫폼이며 CI/CD에 적합한 구조를 가진다. (MSA와도)

  2. 퍼블릭 클라우드와 온프레미스에서 같은 방식으로 사용 가능하다.

  3. 컨테이너 기술을 통해 애플리케이션과 서버 인프라를 분리하여 변화에 대응할 수 있는 유연성과 확장성을 제공해준다.

  4. 역사는 짧지만 많은 기업의 지지를 받아서 성장해왔고, 현재는 정식 서비스에 운영할 수 있을 정도로 성숙해졌다.

  5. 주요 퍼블릭 클라우드 제공 업체(구글,아마존,마소)가 쿠버네티스 관리 서비스를 제공하고 있어 온프레미스에서 클라우드로 쉽게 이동이 가능하다.

  6. 쿠버네티스는 그리스어로 조타수라는 뜻이다.

  7. 핵심! 쿠버네티스의 아키텍처는 마스터와 노드로 구성되며 마스터가 노드를 제어하고 노드에서 컨테이너가 돌아간다.

Reference

k8s

15단계로 배우는 도커와 쿠버네티스 - 타카라 마호 저서





© 2022. by minkuk

Powered by minkuk