Kubectl 명령어가 작동하는 체계
명령어(kubectl) → kube-apiserver
→ kubelet ⇒ 작동
- 모든 명령어는
kube-apiserver
를 통해서 작동함
선언형(멱등성) 의 내용
Container: 가장 최소 기능단위. 일종의 소프트웨어 패키지
Pod: 쿠버네티스에서 생성하고 관리할수 있는 가장작은 컴퓨팅 단위
Replicaset: 레플리카 파드(쉽게말하면 파드의 복제본) 을 항상 안정적으로 유지하도록 제공
Deployment: 파드와 레플리카셋 을 안정적으로 유지하도록 제공
Replicaset vs Deployment
두개는 목적 자체가 다름
- Replicaset: 레플리카 파드 집합 실행을 안정적으로 유지하는 것
- Deployment: Pod와 Replicaset에 대한 선언적 업데이트를 제공
Controller
- 쿠버네티스에는 Pod의 상태를 확인하고, 관리자가 선언한 Pod의 갯수를 보장해 주는 컴포넌트가 있는데, 이 컴포넌트의 이름이 Controller 임
- Replicaset과 Deployment는 Controller의 한 종류임
- Controller의 역할은 AutoHealing, Software Update, AutoScaling, Job(크론같은거)
Replicaset
- Replicaset 오브젝트를 선언하고, Replicas에서 template로 파드를 정의함
- Pod의 숫자가 보장된다는점에서 안정적으로 배포할수 있어서 좋은데, Replicaset은 파드 업데이트에 대한 배포를 지원하지않음
Deployment
- Pod와 Replicaset에 대한 선언적 업데이트를 제공함
- Replicaset이 Pod를 조절하지만, Replicaset을 조절하는것은 Deployment라는것
- Deployment에서 Replicaset을 조절해서 Pod를 업데이트하는 방식으로 배포하는게 가능한거임
- 업데이트 방법(Rolling Update, Recreate, Blue/Green, Canary) 이 존재함
쿠버네티스 스토리지
Pod는 Stateless이다
- Pod는 기본적으로 영구히 쓰는 개념이 아니라, 일회용품처럼 쓰고-버리고-쓰고-버리고 하는 개념임
- Pod내부의 데이터는 Pod가 정지되거나/에러났을때에 삭제됨 → 내부에 있는 데이터는 모두 유실됨 ⇒ Pod는 상태가없는(Stateless) 애플리케이션 이다
PV, PVC는 Stateful이다.
- 데이터베이스처럼 보존을 시켜줄수 있는 애플리케이션이 필요하다
- 순서
- - Storage에 PV오브젝트가 자원을 할당
- - PVC가 PV와 바운딩
- - Pod가 바운딩된 PVC에 연결
'외부활동' 카테고리의 다른 글
[DOIK2] 스터디: Stateless와 Storage의 관계 (2) | 2023.10.28 |
---|---|
[DOIK2] 스터디: Kubernetes 의 Component와 멱등성에 대한 이해 (0) | 2023.10.28 |
[구글 클라우드 쿠버네티스 스터디잼 중급] 수료했습니다 +후기 (0) | 2023.06.25 |
[구글 클라우드 쿠버네티스 스터디잼 중급] Kubernetes Architecture 오타 (0) | 2023.06.25 |
[구글 클라우드 쿠버네티스 스터디잼 중급] Kubernetes Architecture (0) | 2023.06.23 |