320x100
320x100

쿠버네티스의 핵심, 컨트롤 플레인 (마스터 노드)

쿠버네티스의 모든 데이터를 관리하는 노드

 

- Hub and Spoke 패턴

Spoke들은 Hub를 통해서만 통신하는 쿠버네티스의 기본 패턴

 

- 선언적 동작 방식

사용자가 원하는 상태를 마스터 노드에 전달하면 마스터 노드는 그 상태를 맞추기 위해 노력하는 형식

 

 

 

 

Hub and Spoke 패턴

Hub는 API 서버가 담당하고 API 서버와 연결되어 있는 컴포넌트들은 Spoke를 담당한다

이 Spoke들은 서로 통신하지 않으며, 항상 API 서버와 통신을 한다

 

- Spoke의 종류

Controller Manager

Scheduler

Kubelet

 

- Hub and Spoke 패턴의 장점

쿠버네티스의 데이터를 보관하는 곳은 etcd 라는 저장소인데, 이는 API 서버를 통해서만 데이터 변경이 가능하기 때문에 일관성을 유지할 수 있다

Spoke만 추가하면 되기 때문에 새 기능을 추가하기가 쉽다 (확장성이 좋다)

 

 

 

선언적 동작

사용자가 주문한 동작을 어떻게든 수행한다

사용자는 원하는 상태를 Hub에 전달하고 결과를 기다리면 된다

 

- 명령적 동작 방식 (반대 개념)

사용자가 동작의 상세한 명령들을 제공하는 방식

쿠버네티스에서도 이를 지원하지만, 쿠버네티스 스스로 안정적으로 동작하기 때문에 선언적 동작 방식을 권장한다

 

- 매니패스토 파일

사용자가 Hub에 전달하는 주문서 (yaml 파일)

 

 

 

watch 메커니즘

매니패스토 파일의 변경이 발생했을때 API Server가 이를 확인하여 컴포넌트에 전달한다

이를 통해 실시간적인 상태변경이 가능하다

 

- 장점

실시간으로 대응이 가능하고, 리소스 버전을 통해 누락되거나 중복된 변경 사항에 대해 대응할 수 있어 데이터 정합성을 보장할 수 있다

 

 

 

 

 

 

Reference

 

쓰기만 했던 개발자가 궁금해서 찾아본 쿠버네티스 내부 1편 | 카카오페이 기술 블로그

한 번쯤 내 팟이 뜰 때 내부적으로 어떻게 동작하는지 궁금하셨던 분들에게 제공하는 글입니다.

tech.kakaopay.com

 

쓰기만 했던 개발자가 궁금해서 찾아본 쿠버네티스 내부 2편 | 카카오페이 기술 블로그

한 번쯤 내 팟이 뜰 때 내부적으로 어떻게 동작하는지 궁금하셨던 분들에게 제공하는 글입니다.

tech.kakaopay.com

 

300x250
728x90