본문

쿠버네티스(k8s) 살펴보기

반응형

■ k8s란

컨테이너 오케스트레이터: 여러 컨테이너들을 관리해주는 솔루션

 

쿠버네티스 컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템으로, 오픈 소스 기반이다.원래 구글에 의해 설계되었고 현재 리눅스 재단에 의해 관리되고 있다. 목적은 여러 클러스터의 호스트 간에 애플리케이션 컨테이너의 배치, 스케일링, 운영을 자동화하기 위한 플랫폼을 제공하기 위함이다. 도커를 포함하여 일련의 컨테이너 도구들과 함께 동작한다. (출처: 위키백과)

 

서비스 배포운영에 표준으로 자리를 잡아가고있는 k8s

 


■ k8s 장점

- auto scaling: 트래픽량에따라 서비스 자원량을 제어(컨테이너 증감)

- auto healing: 서비스 장애시, 장애가 발생한 서버상의 서비스들을 자동으로 다른 서버로 옮겨주는 기능.

여분의 한대의 서버만 있으면 서비스를 유지시킬 수 있다. (백업서버: AS-IS: 3대 / TO-BE: 1대 필요)

- Deployment: 무중단 서비스 제공을 위한 빌드배포 기능(서비스 순차 업데이트 및 재기동)

 

* 서비스 효율(트래픽에 따른 운영비용 감소효과 기대) 증가 및 운영관리 편의제공

* 서버가 적어지면 그만큼 유지보수 비용이 적어지기때문에 운영 서비스의 규모가 클수록 더 큰 기대효과를 갖을 수 있다.


■ k8s 등장배경

가상화기술 발전 History


■ 마스터 노드(Master Node)와 워커 노드(Worker Node)

쿠버네티스(Kubernetes)는 컨테이너 오케스트레이션(orchestration) 도구로, 애플리케이션을 여러 대의 머신에 분산하여 실행하고 관리하는 데 사용됩니다. 이를 위해 쿠버네티스는 마스터 노드와 워커 노드라는 두 가지 유형의 노드로 구성됩니다.

https://jyeonth.tistory.com/26

마스터 노드는 쿠버네티스 클러스터의 제어를 담당합니다. 이는 클러스터의 상태를 관리하고 컨테이너화된 애플리케이션을 관리하기 위한 중앙 집중화된 제어 기능을 제공합니다. 마스터 노드는 다양한 구성 요소로 구성되며, 가장 중요한 구성 요소로는 API 서버, 스케줄러, 컨트롤러 매니저, etcd 데이터베이스가 있습니다. 마스터 노드는 클러스터의 상태 및 작업에 대한 결정을 수행하고, 워커 노드들에 명령을 내려 컨테이너 애플리케이션을 배포하고 관리합니다.

워커 노드는 실제로 컨테이너 애플리케이션을 실행하는 데 사용되는 노드입니다. 일반적으로 여러 대의 워커 노드가 클러스터에 속하며, 각 워커 노드는 실제로 컨테이너를 실행하는 데 필요한 리소스를 제공합니다. 워커 노드에는 컨테이너 런타임(예: Docker)과 함께 작동하는 Kubernetes 에이전트인 kubelet이 설치되어 있으며, 마스터 노드로부터 할당된 작업을 수행합니다. 워커 노드는 마스터 노드와 통신하여 클러스터의 상태를 보고하고, 필요에 따라 새로운 작업을 받아 실행합니다.

마스터 노드와 워커 노드는 쿠버네티스 클러스터의 핵심 구성 요소로 함께 작동하여 컨테이너화된 애플리케이션을 효율적으로 실행하고 관리합니다.


■ k8s 역할분담

사용자/개발자, 운영자/관리자

- 사용자: k8s 기능을 활용하여 배포하는 사용자

- 운영자: k8s 클러스터를 운영


■ VM vs Container

https://server-engineer.tistory.com/923

 

 

 

 

 

반응형

공유

댓글