일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 심층신경망
- 빅쿼리
- 최적화
- 차원 축소
- r
- 캐글
- ADP 실기
- Machine Learning
- frontend
- 머신러닝
- 파이썬
- bigquery
- 리액트
- 클러스터링
- python
- Kaggle
- docker
- LDA
- 구글
- 대감집
- do it
- ADP
- React
- 프론트엔드
- TooBigToInnovate
- DBSCAN
- Kubernetes
- 타입스크립트
- 대감집 체험기
- 쿠버네티스
- Today
- Total
No Story, No Ecstasy
쿠버네티스 클러스터 아키텍처 본문
1. 컨트롤 플레인
- 클러스터의 두뇌 역할을 하며 스케쥴링, 서비스 관리, API 요청 처리 등의 작업을 수행
- 클러스터 내 마스터 노드에서 실행
- 구성 요소
. kube-apiserver: 컨트롤플레인의 frontend 서버로 API 요청을 처리
. etcd: 쿠버네티스 관련 모든 메타데이터 (정보)를 저장하는 DB
. kube-scheduler: 새로 생성된 Pod을 싱행할 노드를 결정
. kube-controller-manager: 리소스 컨트롤러(ex. deployment) 관리
. cloud-controller-manager: 클라우드 업체와 연동하여 로드 밸런서나 디스크 볼륨과 같은 자원 관리
2. 노드 컴포넌트
- 클러스터 내 사용자의 워크로드를 실행
- 도커 데스크톱이나 미니큐브와 같이 클러스터 크기가 매우 작은 경우를 제외하고는 마스터 노드는 일반적으로
사용자 워크로드를 실행하지 않는다.
- 구성 요소
. kubelet: 노드에 예약된 워크로드를 실행하기 위해 컨테이너 런타임을 관리하고 상태 모니터링
. kube-proxy: 서로 다른 노드에 있는 파드 간 통신이나 인터넷 사이의 네트워크 트래픽을 라우팅
. container runtime: 컨테이너 시작 및 중지, 컨테이너 간 통신 처리 (일반적으로는 도커가 사용됨)
3. 고가용성 보장
- 컨트롤 플레인은 다수의 마스터 노드로 구성되어 고가용성을 보장 (상용 클러스터는 최소 3개 마스터 노드 필요)
- 네트워크 파티션 상황 (네트워크 장애로 일부 컴포넌트 간 통신 불가)도 처리 가능
- etcd 데이터베이스는 여러 노드에 걸쳐 복제된다.
- 워커 노드 장애시 해당 노드의 Pods를 다른 노드로 재조정
4. 관리형 쿠버네티스 서비스
- 구글 쿠버네티스 엔진 (GKE) : 클러스터 오토 스케일링 기능 제공, 모든 면에서 최고
- 아마존 일래스틱 쿠버네티스 서비스 (EKS)
- 애저 쿠버네티스 서비스 (AKS)
- 오픈시프트
- IBM 클라우드 쿠버네티스 서비스
5. 쿠버네티스 자체 호스팅
- *kops: 클러스터의 자동 프로비저닝을 위한 명령줄 도구
- *Kubespary: 클러스터를 쉽게 배포하는 도구 (온프레미스 베어 메탈 서버에 쿠버네티스를 설치하는데 중점)
- TK8: 클러스터 프로비저닝을 위해 사용
- kubeadm: 쿠버네티스에서 제공하는 도구 (클러스터 설치 및 관리)
* 적게 실행하는 소프트웨어 (시간을 관리하고 경쟁자를 물리치는 데 도움이 되는 핵심)
1. 표준 기술을 선택하라
2. 차별화되지 않는 고된 일은 아웃소싱하라
3. 지속적인 경쟁 우위를 창출하라
'Shallow Series' 카테고리의 다른 글
React 기초 (0) | 2021.01.15 |
---|---|
쿠버네티스 오브젝트 ( Kubernetes Object ) (0) | 2021.01.09 |
Kubernetes 관련 내용 (0) | 2021.01.08 |
Docker 관련 내용 (0) | 2021.01.08 |
[Ubuntu 20.04] 인터넷 문제 ( Network Unclaimed ) 해결 (26) | 2021.01.06 |