https://youtu.be/-gIyfII5eak?list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb
오브젝트 정리
전체 클러스터에서 각 Pod에게 고유한 IP를 할당한다
여러개의 컨테이너가 하나의 Pod에 속하는 경우가 있다
ReplicaSet
: 여러개의 Pod을 관리함
replicas 의 값을 유지하기 위해 pod을 신규 생성 또는 제거 하며 갯수를 유지한다
Deployment
: 이 replicas Set 의 배포 버전을 관리 함
버전 관리 유지 방법은 내부적으로 ReplicaSet을 이용한다
내부적인 알고리즘이라기보다는 ReplicaSet 의 특성을 이용하여 버전 관리한다
다양한 Workload
Service - ClusterIP
클러스터 내부에서 사용하는 프록시
pod을 load balancer 함
pod은 동적이지만 서비스는 고유IP를 가진다
고유IP에 서비스 ClusterIP가 있으면 각 Pod들이 죽거나 유지할 때 임의의 IP들로 연결되어있다(한 pod에서 변경이 안되는듯) 그래서 pod하나 삭제하면 그 해당 ip도 삭제
클러스터 내부에서 서비스 연결 할 때는 DNS를 이용한다
각각에게도 IP가 있다는 것
근데 이 클러스터IP는 내부에서만 접근이 가능하므로
외부에서 연결 할 수 있는 NodePort가 존재한다
NodePort
: 이는 노드(host)에 노출되어 외부에서 접근이 가능하다
Web browser -> Service(NodePort) -> Service(ClusterIP)
LoadBalancer
하나의 IP주소를 외부로 노출 시켜준다
Ingress : 도메인 또는 경로별 라우팅 (Nginx, HAProxy, ALB emd)
일반적으로는
Deployment를 만든다 그러면 안에 ReplicaSet과 그 내부에 pod이 있는 거고,
해당 Deployment에 Service(ClusterIP)를 붙인 뒤,
외부에서 접근할수 있는 Service(NodePort)를 붙여주고
이 NodePort Service 모음들을 Service(LoadBalancer) 를 Ingress에 붙여준다
그러면 클라이언트가 접속할때 DNS를 통하여 해당 서비스를 이용할 수 있다
그 외의 기본 오브젝트들은
Volume - Storage (EBS, NFS ....)
Namespace - 논리적인 리소스 구분
ConfigMap/Secret - 설정
ServiceAccount - 권한 설정
Role/ClusterRole - 권한 설정 (get, list, watch, create ...)
등등 엄청 많다
이런 추상화된 오브젝트들이 굉장히 많이 있다
'IT공부 > platform' 카테고리의 다른 글
[Recursion] 재귀함수 (0) | 2023.11.08 |
---|---|
[kubernetes] 쿠버네티스 아키텍처 (3) (0) | 2023.03.26 |
[kubernetes] 쿠버네티스 아키텍처 (1) (0) | 2023.03.25 |
[kubernetes] 쿠버네티스 소개 (0) | 2023.03.25 |
[kubernetes] 컨테이너 오케스트레이션? ~ 왜 쿠버네티스인가 (0) | 2023.03.24 |