본문 바로가기

k8s

쿠버네티스가 왜 필요할까 ?

728x90

VIrtual machine환경으로 넘어오면서 하나의 하이퍼바지어를 통해 논리적인 머신을

virtual box를 통해서 사용했었다.

하지만, 재가동하는 시간 os를 따로 설치하는시간이 너무 오래 걸리는 단점이 있다.

 

그래서 , 탄생한 것이 Container 기술

Docker와 Kubernetes가 탄생했다.

 

쿠버네티스란 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈 소스 시스템입니다.

출처: https://kubernetes.io/

 

 

쿠버네티스는 단순한 컨테이너 플랫폼이 아닌 마이크로서비스, 클라우드 플랫폼을 지향하고, 컨테이너로 이루어진 것들을 손쉽게 담고 관리할 수 있는 그릇 역할을 합니다. 서버리스, CI/CD, 머신러닝 등 다양한 기능이 쿠버네티스 플랫폼 위에서 동작합니다. 

 

쿠버네티스가 왜 필요할까요?

쿠버네티스를 사용하면 컨테이너화된 애플리케이션 환경을 탄력적으로 실행할 수 있게 됩니다.

출처: https://kubernetes.io/

 

프로덕션 환경에서는 애플리케이션을 실행하는 컨테이너를 관리하고 가동 중지 시간이 없는지 확인해야 합니다. 예를 들어, 컨테이너가 다운된다면 다른 컨테이너를 다시 시작하여 가동 중지 시간을 최소화하여야 합니다.

 

이러한 동작을 시스템에 의해 처리할 수 있다면 어떨까요?

 

이러한 문제를 시스템에 의해 관리되도록 하는 것이 쿠버네티스의 역할입니다!

 

쿠버네티스에서 제공하는 기능은 다음과 같습니다.

출처: https://www.xenonstack.com/insights/kubernetes-deployment/

 

 

  • 서비스 디스커버리와 로드 밸런싱 - DNS 이름을 사용하거나 자체 IP 주소를 사용하여 컨테이너를 노출
  • 스토리지 오케스트레이션 - 로컬 저장소, 공용 클라우드 공급자 등과 같이 원하는 저장소 시스템을 자동으로 탑재 
  • 자동화된 롤아웃과 롤백 - 원하는 상태를 서술하고 현재 상태를 원하는 상태로 설정한 속도에 따라 변경 가능 
  • 자동화된 빈 패킹 - 각 컨테이너가 필요로 하는 CPU와 메모리(RAM)를 제공 
  • 자동화된 복구(self-healing) - 실패한 컨테이너를 다시 시작하고, 컨테이너를 교체
  • 시크릿과 구성 관리 - 암호, OAuth 토큰 및 SSH 키와 같은 중요한 정보를 저장하고 관리 

 

 

선언적 API란 ?

 

컨테이너가 종료될 시 3개가 자동으로 동작되게 정상적으로 작동중인 서버에 다시 셀프힐링해줌

 

728x90