본문 바로가기
IT/PaaS

쿠버네티스 시작하기(1) - 쿠버네티스란 무엇인가?

by twofootdog 2019. 12. 19.

팀 내에서 스터디 프로젝트를 진행할 때 리눅스 환경에서 쿠버네티스를 활용하여 프로젝트 환경을 구성한 적이 있다.

그런 경험을 바탕으로 지금까지 공부하고 활용한 쿠버네티스에 대한 지식 및 경험을 블로그에 정리해 보고자 한다.

 

1. 쿠버네티스(kubernetes)란 무엇인가

쿠버네티스(kubernetes)는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장 가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고 빠르게 성장하는 생태계를 가지고 있다. 

 

2. 쿠버네티스(kuberentes)가 필요한 이유는?

실제 프로덕션 애플리케이션은 여러 컨테이너(예를들면 Docker Container)에 걸쳐 있으며 이러한 컨테이너는 여러 서버 호스트에 배포되어야 한다. 컨테이너를 위한 보안은 멀티레이어 구조이며 복잡할 수 있다. 바로 여기에 쿠버네티스가 사용된다. 쿠버네티스는 이러한 워크로드를 위해 규모에 맞는 컨테이너를 배포하는데 필요한 오케스트레이션(orchestration) 및 관리 기능을 제공한다. 쿠버네티스 오케스트레이션을 사용하면 여러 컨테이너에 걸쳐 애플리케이션 서비스를 구축하고 클러스터 전체에서 컨테이너의 일정을 계획하고 이러한 컨테이너를 확장하여 컨테이너의 상태를 지속적으로 관리할 수 있다. 또한 쿠버네티스를 활용하면 IT 보안을 한층 강화할 수 있다.

 

3. 쿠버네티스를 활용한 작업

쿠버네티스를 활용하면 프로덕션 환경에 컨테이너 기반 인프라를 완전히 구현해서 사용할 수 있다. 또한 쿠버네티스는 운영 작업 자동화와 관련이 있으므로 다른 애플리케이션 플랫폼 또는 관리 시스템에서 가능한 작업의 상당수를 컨테이너를 사용해 수행할 수 있다. 

쿠버네티스를 사용하여 수행할 수 있는 작업은 다음과 같다

 

  • 여러 호스트에 걸쳐 컨테이너를 오케스트레이션(orchestration) 할 수 있음
  • 하드웨어를 최대한 활용하여 엔터프라이즈 애플리케이션을 실행하는 데 필요한 리소스를 극대화함
  • 애플리케이션 배포 및 업데이트를 제어하고 자동화함
  • 스토리지 장착 및 추가해 스테이트풀(stateful) 애플리케이션을 실행함
  • 컨테이너화된 애플리케이션과 해당 리소스를 즉시 확장
  • 선언적으로(Declaratively) 서비스를 관리함으로써, 배포한 애플리케이션이 항상 배포 목적대로 실행되도록 함
  • 자동 배치, 자동 재시작, 자동 복제, 자동 확장을 사용해 애플리케이션 상태 확인과 셀프 복구 수행

 

 

 

참고

https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/

 

쿠버네티스란 무엇인가

 

kubernetes.io

https://www.redhat.com/ko/topics/containers/what-is-kubernetes

 

Kubernetes(쿠버네티스): 개념, 성능, 장점

Kubernetes(쿠버네티스)는 리눅스 컨테이너 운영 자동화와 오케스트레이션을 위한 오픈소스 툴입니다. 쿠버네티스 개념, 성능, 사용방법과 도커와의 차이점을 살펴 보세요.

www.redhat.com

 

댓글