개요

생성일
Mar 6, 2022 08:19 AM
태그

쿠버네티스란 무엇인가?

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

컨테이너 개발의 시대

컨테이너는 vm과 유사하지만 격리 속성을 완화하여 애플리케이션 간에 운영체제를 공유한다. 그러므고 가볍다고 여겨진다. 기본 인프라와의 종속성을 끊었기 때문에, 클라우드나 OS 배포본에 모두 이식할 수 있다.
컨테이너는 다음과 같은 추가적인 혜택을 제공한다.
  • 기민한 애플리케이션 생성과 배포
  • CI, CD : 안정적이고 주기적으로 컨테이너 이미지를 빌드해서 배포할 수 있고 빠르고 효율적으로 롤백할 수 있다.
  • 개발과 운영의 관심사 분리 : 배포 시점이 아닌 빌드/릴리즈 시점에 애플리케이션 컨테이너 이미지를 만들기 때문에, 애플리케이션이 인프라에서 분리된다.
  • 개발, 테스팅 및 운영 환경에 걸친 일관성
  • 클라우드 및 OS 배포판 간 이식성
  • 애플리케이션 중심 관리
  • 느슨하게 커플되고, 분산되고, 유연하며, 자유로운 마이크로 서비스 : 애플리케이션은 단일 목적의 머신에서 모놀리식 스택으로 구동되지 않고 보다 작고 독립적인 단위로 쪼개져서 동적으로 배포되고 관리될 수 있다.
  • 리소스 격리
 

쿠버네티스가 왜 필요하고 무엇을 할 수 있는가?

컨테이너는 애플리케이션을 포장하고 실행하는 좋은 방법이다. 프로덕션 환경에서는 애플리케이션을 실행하는 컨테이너를 관리하고 가동 중지 시간이 없는지 확인해야 한다. 이를 쿠버네티스가 수행함.
쿠버네티스는 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 제공한다. 애플리케이션의 확장과 장애 조치를 처리하고, 배포 패턴등을 제공한다.
쿠버네티스는 다음을 제공한다.
  • 서비스 디스커버리와 로드 밸런싱 : 쿠버네티스는 DNS 이름을 사용하거나 자체 IP 주소를 사용하여 컨테이너를 노출할 수 있다.
  • 스토리지 오켓스트레이션 - 쿠버네티스를 사용하면 로컬 저장소, 공용 클라우드 공급자 등과 같이 원하는 저장소 시스템을 탑재할 수 있다.
  • 자동화된 롤아웃과 롤백
  • 자동화된 빈 패킹 - 컨테이너화된 작업을 실행하는데 사용할 수 있는 쿠버네티스 클러스터 노드를 제공한다. 각 컨테이너가 필요로 하는 CPU와 메모리를 쿠버네티스에게 지시한다. 쿠버네티스는 컨테이너를 노드에 맞추어서 리소스를 가장 잘 사용할 수 있도록 해준다.
  • 자동화된 복구 - 쿠버네티스는 실패한 컨테이너를 다시 시작하고, 컨테이너를 교체하며, 사용자 정의 상태검사에 응답하지 않는 컨테이너를 죽이고, 서비스 준비가 끝날 때까지 그러한 과정을 클라이언트에게 보여주지 않는다.
  • 시크릿과 구성 관리
 
 

쿠버네티스 컴포넌트

 
쿠버네티스를 배포하면 클러스터를 얻는다.
쿠버네티스 클러스터는 컨테이너화된 애플리케이션을 실행하는 노드라고 하는 워커 머신의 집합. 모든 클러스터는 최소 하나의 워커 노드를 가진다.
워커 노드는 애플리케이션의 구성요소인 파드를 호스트한다. 컨트롤 플레인은 워커 노드와 클러스터 내 파드를 관리한다. 프로덕션 환경에서는 일반적으로 컨트롤 플레인이 여러 컴퓨터에 걸쳐 실행되고, 클러스터는 일반적으로 여러 노드를 실행하므로 내결함성과 고가용성이 제공된다.
 
 
 
 
 
 

Loading Comments...