반응형
안녕하세요.
해당 글은 클러스터에 관한 글입니다.
클러스터란
쿠버네티스 아키텍처는 여러 컨테이너를 관리하기 위해 자기 맡은 역할을 수행하는 여러 대 서버가 하나의 클러스터로 연결되어 있습니다.
컨트롤 플레인
어떠한 명령을 프로그램에 전달할 때 API, CLI, 마우스 클릭이 가능한 UI 같은 기능을 통해 수행하도록 합니다.
이러한 기능을 담당하는 것이 컨트롤 플레인이라고 설명할 수 있습니다.
* 정의 : 컨테이너의 라이프 사이클을 정의, 배포, 관리하기 위한 API와
인터페이스들을 노출하는 컨테이너 오케스트레이션 레이어
* 컨트롤 플레인은 마스터 노드에서 실행되며, 품고 있는 컴포넌트를 통해 각 기능은 아래와 같습니다.
- kube-apiserver
- 명령어 API를 처리
- etcd
- 노드와 클러스터에 존재하는 리소스나 쿠버네티스와 관련된 모든 정보를 저장하는 데이터베이스, (저장소)
- 모든 클러스터 데이터를 담는 쿠버네티스 뒷단의 저장소로 사용되는 key-value 저장소
- kube-scheduler
- 새로 생성된 파드를 실행할 노드를 결정
- (work machine) 노드가 배정되지 않은 새로 생성된 (실행 중인 컨테이너 집합)파드를 감지하고 실행할 노드를 선택하는 컨트롤 플레인 컴포넌트
- kube-controller-manager
- 리소스 컨트롤러를 관리.
- 현재 상태를 원하는 상태로 이행시키는 컨트롤 루프로, 컨트롤러를 구동하는 마스터 상의 컨트롤러
- 리소스 컨트롤러란?
- 노드 컨트롤러: 노드가 다운되었을 때 통지와 대응에 관한 책임을 가진다.
- 레플리케이션 컨트롤러: 시스템의 모든 레플리케이션 컨트롤러 오브젝트에 대해 알맞은 수의 파드들을 유지시켜 주는 책임을 가진다.
- 엔드포인트 컨트롤러: 엔드포인트 오브젝트를 채운다. (서비스와 파드를 연결)
- 서비스 account & token 컨트롤러: 새로운 네임스페이스에 대한 기본 계정과 API 접근 토큰을 생성한다.
- cloud-controller-manager
- 클라우드 제공자 전용 컨트롤러만 실행한다.
- 제공 사업자의 의존성을 가질 수 있는 컨트롤러
- 노드 컨트롤러: 노드가 응답을 멈춘 후 클라우드 상에서 삭제되었는지 판별하기 위해 클라우드 제공 사업자에게 확인하는 것
- 라우트 컨트롤러: 기본 클라우드 인프라에 경로를 구성하는 것
- 서비스 컨트롤러: 클라우드 제공 사업자 로드밸런서를 생성, 업데이트 그리고 삭제하는 것
책에 작성된 내용만으로 도대체 무슨 말인지 알기 어려워 쿠버네티스 공식 문서를 참조하여 개념을 추가하였습니다.
감사합니다.
반응형
'kubernetes' 카테고리의 다른 글
kubernetes localhost 연결 - sonarqube (0) | 2022.07.21 |
---|---|
k8s: yaml 파일 구조 - 2 (0) | 2022.05.31 |
k8s: minikube 클러스터 만들기 - 1 (0) | 2022.05.18 |
쿠버네티스의 클러스터 - 개념정리 (0) | 2020.06.06 |
쿠버네티스 시작하기 - RUN (0) | 2020.06.06 |