쿠버네티스(K8s) 알아보기

석준·2023년 8월 20일
0

캡스톤디자인

목록 보기
6/9

쿠버네티스는 컨테이너를 오케스트레이션하는 도구로, 애플리케이션을 컨테이너로 패키징하고 배포하며 관리하는데 사용된다.

쿠버네티스와 관련된 개념을 하나씩 알아보자!


용어
컨테이너앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술
컨테이너 런타임컨테이너를 다루는 도구
도커컨테이너를 다루는 도구 중 가장 유명한 것
쿠버네티스컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 도구
오케스트레이션여러 서버에 걸친 컨테이너 및 사용하는 환경 설정을 관리하는 행위

컨테이너

컨테이너란, 우리가 구동하려는 애플리케이션을 실행할 수 있는 환경까지 감싸서, 어디서든 쉽게 실행할 수 있도록 해 주는 기술이다.

컨테이너 환경을 묶어서 배포한 컨테이너 이미지라는 프로그램을 내려받아 구동하면 실행되기 때문에, 각종 설정 과정이 줄어 들어서 좀 더 편하게 사용할 수 있다.

컨테이너 런타임

컨테이너를 쉽게 내려받거나 공유하고 구동할 수 있도록 해주는 도구이며, 그중 가장 유명한 것이 도커이다.

물론, 도커가 사용하는 컨테이너 규격은 표준화되어 있기 때문에 도커가 아닌 다른 컨테이너 런타임들도 도커로 만든 컨테이너를 사용할 수 있다.

쿠버네티스란?

쿠버네티스는 컨테이너 런타임을 통해 컨테이너를 다루는 도구를 말한다.

쿠버네티스가 해 주는 일은 여러 서버(노드)에 컨테이너를 분산해서 배치하거나, 문제가 생긴 컨테이너를 교체하거나, 컨테이너가 사용할 비밀번호나 환경 설정을 관리하고 주입해 주는 일 등이다. 이것을 컨테이너 오케스트레이션이라고 한다.

쿠버네티스는 컨테이너를 다루기 위해 도커 이외에도 다양한 컨테이너 런타임 소프트웨어를 사용할 수 있다.

쿠버네티스 컴포넌트

쿠버네티스를 설치하고 구성하는 과정을 통해 여러 개의 컴퓨터 노드를 하나로 묶어 클러스터를 형성한다.

클러스터(Cluster)는 여러 대의 컴퓨터 노드가 네트워크를 통해 연결되어 작업을 분산하고 협력하는 시스템을 나타낸다.

쿠버네티스 클러스터는 컨트롤 플레인 컴포넌트를 형성하는 마스터 노드와 노드 컴포넌트를 형성하는 워커 노드로 구성된다.

워커 노드 (Worker Nodes)

워커 노드는 컨테이너화된 애플리케이션을 실행하고 관리하는 역할을 수행한다. 이러한 컨테이너화된 애플리케이션의 기본 단위는 "파드(Pod)"라고 불리며, 워커 노드는 이 파드들을 호스트 한다.

주요 구성 요소:

  • Kubelet: 각 노드에 설치되며, 마스터의 지시에 따라 노드 상의 파드를 실행하고 관리한다. 파드가 원활하게 작동하도록 유지한다.

  • Kube Proxy: 네트워크 프록시로써, 파드 간의 네트워크 통신을 관리하고 로드 밸런싱을 수행한다. 서비스(Service)와 파드 간의 연결을 관리한다.

  • Container Runtime: 컨테이너를 실행하는 런타임 환경이다. Docker, containerd 등의 컨테이너 런타임을 사용하여 파드 내부에서 컨테이너를 실행하고 관리한다.

마스터 노드 (Master Nodes)

쿠버네티스 클러스터의 중앙 제어 및 관리 역할을 담당하는 부분이다. 마스터 노드는 워커 노드와 클러스터 내 파드를 관리하며, 클러스터의 전반적인 동작을 조정한다.

주요 구성 요소:

  • API 서버 (API Server): 클러스터 내의 모든 작업과 통신을 담당하는 중심 역할을 한다. 클러스터 구성 및 상태 관리, 애플리케이션 배포 및 스케일링을 위한 RESTful API를 제공합니다.

  • 스케줄러 (Scheduler): 새로운 파드(Pod)를 클러스터의 워커 노드에 할당하는 역할을 수행한다. 리소스 사용량, 제약 조건 등을 고려하여 최적의 노드에 파드를 스케줄링한다.

  • 컨트롤 매니저 (Controller Manager): 클러스터 상태를 지속적으로 모니터링하며, 원하는 상태를 유지하기 위해 조치를 취하는 역할이다. 예를 들어 노드 장애 처리, 파드 복제 관리 등을 담당한다.

  • etcd: 클러스터의 모든 설정과 상태 정보를 안전하게 저장하는 분산 데이터 저장소이다. 모든 구성 요소가 etcd를 통해 클러스터 상태를 공유하고 유지한다.

“하이브리드 클라우드 환경의 데이터 관리, ‘쿠버네티스’가 효과적”
By 이진호 2022년 11월 1일
https://byline.network/2022/11/1101_01/


참고 문헌

소셜크리에이터 심근우 프로. (2022, February 22). 쿠버네티스 알아보기 1편: 쿠버네티스와 컨테이너, 도커에 대한 기본 개념. Retrieved 21:40, August 20, 2023, from https://www.samsungsds.com/kr/insights/220222_kubernetes1.html

kubernetes.io. (Last modified July 12, 2023). Kubernetes Components. Retrieved 21:43, August 20, 2023, from https://kubernetes.io/docs/concepts/overview/components/

profile
ERICA SW 19

0개의 댓글