https://huidea.tistory.com/247
Deployment
참고 link : https://arisu1000.tistory.com/27833
- Pod 과 Replicaset에 대한 관리를 제공하는 단위
- 쿠버네티스에서 일반적인 상태가 없는 (stateless) 앱을 배포할 때 사용되는 기본적인 컨트롤러
- 배포에 대한 기능이 세분화 되어있음
- 레플리카셋의 상위 개념
1) pod
Pod(포드, 팟)은 쿠버네티스에서의 가장 작은 배포 단위이며, 각 Pod마다 고유한 IP를 할당받는다. 여러 개의 컨테이너가 하나의 Pod에 속할 수 있다.
2) ReplicaSet
리플리카셋은 여러 개의 Pod를 관리하며, replicas = 3 과 같은 식으로 몇 개의 Pod를 관리할 지 결정한다. 즉, 신규 Pod을 생성하거나 기존 Pod을 제거하여 원하는 수(Replicas)를 유지하는 역할을 한다.
3) Deployment
ReplicaSet을 감싸고 있는, 배포 버전을 관리하는 오브젝트이다. 내부적으로 ReplicaSet을 활용해 무중단 버전관리를 가능케 한다.
즉, 정리하자면,
- Deployment를 먼저 생성을 하고, 그러면 Deployment가
- ReplicaSet을 자동으로 생성하고, 그럼 ReplicaSet가
- pod를 자동으로 생성하는 구조를 갖는다.
그리고 이 오브젝트를 외부에 노출을 할 때는
- Service(ClusterIP)를 하나 붙이고
- 거기에 Ingress를 붙인다. Ingress를 붙이면
- NodePort와 LoadBalancer가 자동으로 생성된다.
즉, 실제로는 클라이언트가 도메인을 통해 접속을 하면, 로드밸런서를 거쳐서, 노드포트를 거쳐서, 클러스터IP를 거쳐서 Pod로 연결되는, 이게 쿠버네티스의 일반적인 방법이라고 이해하면 된다.
Deployment 실습
yaml 파일은 pod 의 yaml 파일과 크게 다르지 않음
오늘은 어제 pod 에 이어 deployment 생성과 삭제를 실습해봤다.
pod < replica set < deployment 순으로 구성이 되어있는 걸 기억하자 !
'Study > MLops' 카테고리의 다른 글
[MLops] 220206 패스트캠퍼스 챌린지 14일차 - PVC (0) | 2022.02.06 |
---|---|
[MLops] 220205 패스트캠퍼스 챌린지 13일차 - service (0) | 2022.02.05 |
[MLops] 220203 패스트캠퍼스 챌린지 11일차 (0) | 2022.02.03 |
[MLops] 220202 패스트캠퍼스 챌린지 10일차 - minikube, Kubectl (0) | 2022.02.02 |
[MLops] 220201 패스트캠퍼스 챌린지 9일차 - 쿠버네티스 실습 - YAML, minikube 환경 세팅 (0) | 2022.02.01 |
댓글