목차
- 쿠버네티스 설계 사상
- 쿠버네티스 구조 : 클러스터
- 쿠버네티스 구조 : 클러스터 구성요소
- 쿠버네티스 구조(번외) : 타 솔루션과 비교
- 쿠버네티스 설치(이론)
쿠버네티스 설계 사상
- 선언적 구성 : "내 웹서버의 레플리카를 항상 5개씩 실행하고 싶습니다" cf) 명령어 구성 : "레플리카를 5개 만들어"
- 제어(조정)루프 : 현재 상태를 관찰하여 사용자가 원하는 상태로 유지
- 컨트롤러 구성 : 각 기능별로 독립적으로 분산되게 설계 => 유연하고 안정적이지만 복잡함
- 동적 그룹화 : "우리 팀원은 오렌지색 옷을 입은 사람들입니다." cf) 정적 그룹화 : 우리 팀원은 철수와 영희입니다.
- 레이블(쿼리 가능) 및 어노테이션(메타데이터용)으로 구성
- API 기반 상호작용 : 쿠버네티스 요소들이 서로 직접 접근 불가, 구성 요소를 대체 구현하기 용이
쿠버네티스 구조 : 클러스터
- 클러스터란? 노드라고 하는 워커 머신의 집합
- 노드란? 컨테이너화 된 애플리케이션을 실행하는 서버(가상 또는 물리 둘 다 가능)
- 워커 노드는 애플리케이션의 구성요소인 파드(컨테이너) 를 호스트
- 컨트롤 플레인은 워커 노드와 클러스터 내 파드를 관리
쿠버네티스 구조 : 클러스터 구성요소
쿠버네티스 구조(번외) : 타 솔루션과 비교
쿠버네티스 설치(이론)
- 설치 방법(배포 도구 활용)
- Kubeadm, Kops, Kubespray
차이? 공식 docs 링크 문서 / https://github.com/kubernetes-sigs/kubespray/blob/master/docs/comparisons.md
- 설치 방법(턴키솔루션 활용)
- Redhat Openshift, AWS EKS, MS AKS 등
- 고가용성 토폴로지
https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/ha-topology/
- 중첩된 etcd 토폴로지 vs 외부 etcd 토폴로지 : etcd 배포 위치 차이
- Kubeadm으로 High Availability 클러스터 설치
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/
- 3개의 Master에 연결하기 위한 물리적인 L4스위치 / ha-proxy / nginx / CSP에서 제공하는 Load Balancer 등 다양한 Load Balancer 구성 방식이 있으며, 본 교육에서는 ha-proxy(로드밸런서) 사용
- 물리적 구성도
Reference
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/
https://classlion.net/class/detail/21
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] APIs and Access(1) (0) | 2021.10.25 |
---|---|
[Kubernetes] Kubernetes Architecture(4)[쿠버네티스 리소스 : 컨트롤러 오브젝트, 로드밸런서 오브젝트, 스토리지 오브젝트] (0) | 2021.10.23 |
[Kubernetes] Kubernetes Architecture(3)[쿠버네티스 리소스 : 워크로드 오브젝트] (0) | 2021.10.20 |
[Kubernetes] Kubernetes Architecture(2)[쿠버네티스 설치 및 환경 설정] (0) | 2021.10.19 |
[Kubernetes] 쿠버네티스(Kubernetes)란 무엇인가? (0) | 2021.10.18 |