스터디/[쿠버네티스 인 액션] (2024.8)

[쿠버네티스 인 액션] 1장. 쿠버네티스 소개 - 쿠버네티스 소개

ttoance 2024. 8. 16. 01:01

1. 쿠버네티스 개요 

- 개발자가 애플리케이션 매니페스트를 마스터에 게시하면, 쿠버네티스는 해당 애플리케이션을 워커 노드 클러스터에 배포

- 개발자는 특정 애플리케이션이 함께 실행되도록 지정할 수도 있으며, 쿠버네티스는 여러 어플리케이션을 동일한 워커 노드에 배포

- 다른 애플리케이션은 클러스터에 걸쳐서 분산되지만 배포된 위치에 상관없이 동일한 방식으로 서로 통신할 수 있음. 

 

 

2. 쿠버네티스 클러스터 아키텍처 이해 

- 마스터 노드 : 전체 쿠버네티스 시스템을 제어하고 관리하는 쿠버네티스 컨트롤플레인을 실행 

- 워커 노드 : 실제 배포되는 컨테이너 애플리케이션을 실행 

 

- 컨트롤 플레인 : 클러스터를 제어하고 작동시킴

ㄴ 쿠버네티스 API : 사용자, 컨트롤 플레인 구성 요소와 통신

ㄴ 스케줄러 : 애플리케이션의 배포 담당 

ㄴ 컨트롤러 매니저 : 구성 요소 복제본, 워커 노드 추적, 노드 장애 처리 등과 같은 클러스터단의 기능 수행

ㄴ etcd : 클러스터 구성을 지속적으로 저장하는 신뢰할 수 있는 분산 데이터 저장소 

 

- 노드 : 컨테이너화된 애플리케이션을 실행하는 시스템

ㄴ 컨테이너를 실행하는 도커, rkt 또는 다른 컨테이너 런타임

ㄴ API 서버와 통신하고 노드의 컨테이너를 관리하는 Kubelet

ㄴ 애플리케이션 구성 요소 간에 네트워크 트래픽을 로드밸런싱하는 쿠버네티스 서비스 프록시 

 

3. 디스크립션으로 컨테이너를 실행하는 방법 이해 

- API 서버가 애플리케이션 디스크립션을 처리할 때 스케줄러는 각 컨테이너에 필요한 리소스를 계산하고 워커 노드에 지정된 컨테이너를 할당 

- 그런 다음, 해당 노드의 kubelet는컨테이너 런타임에 필요한 컨테이너 이미지 가져와 컨테이너 실행하도록 지시함. 

- 애플리케이션 디스크랩터는 세 개 세트로 그룹화된 네 개의 컨테이너를 가진다. 

ㄴ 처음 두 파트는 가각 하나의 컨테이너만 가지고 마지막 파트에는 두 개의 컨테이너가 있는데 , 이 때 마지막 파트에 두 컨테이너를 함께 배치해야 하며, 서로 격리해서는 안된다. 

- 각 피드 옆에는 병렬로 실행해야 하는 각 피드의 복제본 수를 나타낸다. 

 

4. 쿠버네티스 사용의 장점

- 애플리케이션 배포의 단순화

- 하드웨어 활용도 높이기 

- 상태 확인과 자가 치유

- 오토스케일링

- 애플리케이션 개발 단순화 

 

 

그룹스터디 링크

리눅스 컨테이너와 쿠버네티스 (tistory.com)

 

리눅스 컨테이너와 쿠버네티스

쿠버네티스 등장 이유모놀리식 애플리케이션에서 마이크로서비스로의 전환하며 구성요소가 쪼개지기 시작배포 가능한 구성 요소의 수와 데이터센터 규모의 증가로 전체 시스템을 원활히 구성

jibsakim.tistory.com

 

반응형