[Kubernetes] k8s 란?

박원균·2021년 10월 26일
0

Kubernetes

목록 보기
1/24
post-thumbnail

탄생

2014년 구글에서 쿠버네티스를 발표하였습니다. 구글이 자사 서비스를 호스트하기 위해 개발한 보그라는 오케스트레이션 도구가 그 기원이라고 할 수 있습니다

쿠버네티스의 개념

k8s는 데이터 플레인을 여러 대 실행시켜 그 위에 가상 오케스트레이션 계층을 구축하고 거기에서 컨테이너가 동작합니다.

컨테이너 이용자는 이를 통해 컨테이너 그룹을 하나의 큰 머신 리소스로 볼 수 있어 인프라를 추상화할 수 있습니다. 여러 대의 서버로 구성이 가능해지면 단일 장애점을 배제할 수 있어 큰 장점이 생깁니다.

또한 쿠버네티스는 컨테이너를 컨트롤하거나 관리하는데 새로운 컨테이너를 배포할 시 어떤 가상 머신을 배포하거나 장애가 생긴 컨테이너를 자동으로 판단하고 그에 맞체 대처를 해줍니다..
--> 이러한 기능은 컨트롤 플레인이라는 마스터 노드 그룹에서 구현됩니다..

오케스트레이션

컨테이너 배포 관리

여러 컨테이너의 배포 프로세스를 최적화 하는것이며 컨테이너와 호스트의 수가 증가함에 따라 효율성이 증대합니다.

기능

  • 컨테이너 자동 배치 및 복제
  • 컨테이너 그룹에 대한 로드 밸런싱
  • 컨테이너 장애 복구
  • 클러스터 외부에 서비스 노출
  • 컨테이너 추가 또는 제거로 확장 및 축소
  • 컨테이너 서비스 간의 인터페이스를 통한 연결 및 네트워크 포트 노출 제어

서비스 메쉬

하나의 애플리케이션의 다양한 부분들이 통신하는것을 제어하는 방법
하나의 애플리케이션 안에서 여러 서비스들이 서로 통신하며 데이터를 주고받는 것을 서비스의 소스코드와 상관없이 제어하는 것.

데이터 플레인

서비스 간 네트워크 트래픽을 관리하는 서비스 메쉬 애플리케이션을 데이터 플레인이라고 한다.

기능

  • 서비스 디스커버리 : 어떤 서비스 인스턴스가 다른 서비스와 통신해야할 때 상태확인을하여 사용가능한 인스턴스를 찾아야한다.

k8s의 기본 오브젝트

파드

쿠버네티스의 최소 단위
파드 하나 안에서는 하나 이상의 컨테이너를 동작시킬 수있다.

레플리카셋

파드를 얼마나 동작시킬 지 관리하는 오브젝터
레플리카셋에서 파드의 수를 설정하면 그만큼의 파드가 동작한느것을 보장합니다.

디플로이먼트

배포 이력을 관리합니다.
쿠버네티스 운영 중에는 애플리케이션의 새로운 버전을 릴리스하거나 부하 증가에 따라 레플리카셋 수를 변경하는 등 여러 가지 동작이 발생하는데 이들은 디플로이먼트로 관리할 수 있습니다.

적용 이력도 관리하므로 새로운 버전에 문제가 발생하였을때 쉽게 롤백이 가능합니다.

파드를 동작시킬 때는 디플로이먼트 단위로 관리한다.

서비스

배포한 파드를 쿠버네티스 클러스터 외부에 공개하기 위한 구조를 제공합니다.

profile
함바라기

0개의 댓글