CKA 공부 3일차
in Devops on Kubernetes
POD & Replica
오늘은 컨디션이 영 나쁘지 않네.
실습 2개 Clear~
POD
Pod는 code cloud에서 실습을 진행함. 크게 어렵지 않았음
kubectl edit pod
name
을 하면 pod를 직접 수정하고 수정된 파드가 자동으로 배포된다.
Replica Set
파드의 운영을 도와주는 Controller. 보통 직접 수정하는 일은 잘 없고 Deployment Controller에서 제어된다.
기본적으로 여러 파드를 운영해서 손쉽게 HA를 구성할 수 있다는 장점이 있다.
단일 파드여도 Replica는 자동 회복 기능을 제공한다.
여러 유저가 늘어나면 레플리카는 LB과 Scaling을 수행한다.
Replication Controller와 Replica Set는 둘의 목적같지만 같지 않다.
- Replication Controller는 더 오래되었으며 Replica Set으로 대체되었다.
- Replica Set은 레플리카를 구성하기 위해 더 추천되는 방법이다.
- 둘의 가장 명확한 차이는
selector
의 유무이다. Replica Set은 셀렉터가 있다.
label과 selector
- k8s에서 얘네는 왜 쓸까?
- 가령 3개의 웹 애플리케이션이 동작하고 있고, 레플리카 컨트롤러나 레플리카 셋이 이 세 애플리케이션을 항상 구동시키려고 한다고 가정해보자.
- 레플리카는 지속적으로 파드들을 감시하고 에러가 생기면 새로운 파드를 배포하는 등의 역할을 담당하게 될 것이다.
- 만약 수 천개의 파드가 있다면 레플리카로 이들을 모두 감시할 수도 있을 것이지만 이를 쉽게 구분하기 위해 우리는 Label을 사용한다.
- 수 천개의 파드 중 라벨로 지정된 3개의 pod들을 레플리카 컨트롤러로 관리하고 싶다면 파드에 라벨을, 레플리카셋에 셀렉터로 라벨의 이름을 지정해주면 손쉽게 관리할 수 있을 것이고 이것이 라벨과 셀렉터의 존재 이유이다.
scale 조정 명령어
kubectl replace -f replicaset.yml
kubectl scale --replicas=6 -f replicaset.yml
kubectl scale --replicas=6 replicaset harry-replicaset