-
[Kubernetes] 쿠버네티스의 기본 구조Kubernetes/쿠버네티스 기본개념 2024. 6. 9. 16:10
전체 쿠버네티스 클러스터의 구조
Node
- 쿠버네티스 클러스터를 구성하는 머신들은 노드(node)라고 부름
- 각 노드들은 물리적이거나 가상 머신일 수 있음
Master Node : Control Plane을 형성하며, 전체 클러스터를 관리하는 마스터 노드
Worker Node : Data Plane을 형성하며, 파드들을 통해 실제 애플리케이션 컨테이너 이미지들을 작동시키는 워커 노드
Object
- 쿠버네티스의 오브젝트(object)는 클러스터의 상태를 나타내는 단위
- 항상 오브젝트의 "현재 상태"를 "의도한 상태"와 동일하게 만들게끔 작동함
ex) 동작중인 컨테이너 relicas 개수, 어떤 파드들이 어느 노드에서 동작중인지..
pod
- 하나 이상의 컨테이너를 둘러싼 가장 작은 래퍼(wrapper) 단위
데몬셋(daemonset)
- 워커 노드에 파드의 단일 인스턴스를 실행함
- 주로 시스템 수준의 데몬(예: 로그 수집기, 모니터링 에이전트 등)을 배포하는 데 사용됨
디플로이먼드(deployment)
- 애플리케이션 버전의 롤백 방법에 대한 세부 내용
레플리카 셋(replicaset)
- 계속 동작할 파드의 개수를 정의함
잡(job)
- 파드가 제대로 완성되어 동작할 수 있도록 함
서비스(service)
- 고정 ip 주소를 파드의 논리 그룹과 매핑함
레이블(lable)
- 연결과 필터링에 사용되는 키/밸류 쌍
Namespace
- 클러스터 내의 논리적 분리 단위 (서비스 다누이)
- 파드에 할당될 cpu, memory 같은 요청량과 limit의 기본값을 할당함
Component
- 1개 이상의 API 서버는 kubectl의 REST 진입점 !
- watch의 매커니즘을 지니고 있다
1) Master Node
kube-apiserver : API 노출 후 다른 구성요소들이랑 상호작용할 수 있는 서버, kubectl이나 kubeadm같은 CLI 통해 API에 액세스 가능
etcd : 분산된 클러스터 상태를 백업하는 데이터 저장소 (key/value)
kube-scheduler : 새로운 pod를 적절한 노드에 할당함, cpu mem같은 리소스 상태 고려해서 포드를 적절한 노드에 예약
kube-controller-manager : 노드, 엔드포인트, re-controller 등의 컨트롤러 관리
-> Deployment Controller, Replicaset Controller
2) Worker Node
kubelet: 각 노드에서 실행되며, pod를 관리하고 컨테이너를 실행하는 담당, (agent 형식) -> API 서버와 워커 노드 간의 연결 역할
kube-proxy : 노드에서 네트워크 프록시 관리 및 로드밸런싱 수행 (데몬셋) -> IP 변환 및 라우팅 관리
container runtime : 컨테이너 이미지 다운 및 실행 (docker , containered..)
'Kubernetes > 쿠버네티스 기본개념' 카테고리의 다른 글
[Udemy CKA] Practice Test - ReplicaSets (0) 2024.06.30 [Udemy CKA] Practice Test - Pods (2) 2024.06.24