728x90
목차
- Replica Sets 소개
- Replication Controller 소개
- Replication Controller 생성 및 관리
- Replica Set 소개
- Replica Set 생성 및 관리
- Replica Set 확장 방법
- 차이점
- 관련 kubectl 명령어
1. Replica Sets
Kubernetes의 Replication Controller와 Replica Set에 대해 설명
이 두 가지 컨트롤러는 Kubernetes 클러스터에서 애플리케이션의 가용성을 유지하고 확장하는 데 중요한 역할을 함
2. Replication Controller
- 여러 Pod의 인스턴스를 관리하여 항상 지정된 수의 Pod이 실행되도록 보장
- 주요 목표는 고 가용성과 애플리케이션의 안정성을 제공하는 것
3. Replication Controller 생성 및 관리
- Replication Controller를 생성하려면 YAML 정의 파일을 작성
- kubectl create 명령어를 사용하여 클러스터에 배포
- 생성된 Replication Controller는 지정된 수의 Pod 인스턴스를 자동으로 유지하며,
- 실패 시 자동으로 복구
생성 예시
apiVersion: v1
kind: ReplicationController
metadata:
name: myapp-rc
spec:
replicas: 3
selector:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: myapp-image
ports:
- containerPort: 80
4. Replica Set 소개
- Replica Set은 Replication Controller의 진화된 형태로, apps/v1 API 버전에서 지원
- Replication Controller와 유사하지만 선택기의 정의가 필수적이며, 더 많은 레이블 일치 옵션을 제공
5. Replica Set 생성 및 관리
- Replica Set을 생성하려면 Replication Controller와 유사하게 YAML 정의 파일을 작성
- kubectl create 명령어를 사용
- Replica Set은 선택된 레이블과 일치하는 Pod을 관리하며, 필요 시 자동으로 확장
생성 예시
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: myapp-rs
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: myapp-image
ports:
- containerPort: 80
6. Replica Set 확장 방법
Replica Set을 확장하는 방법에는 두 가지가 있다.
- 첫 번째 방법
- 정의 파일에서 replicas 값을 수정하고 kubectl replace 명령어를 사용하여 업데이트
- 두 번째 방법
- kubectl scale 명령어를 사용하여 명령 줄에서 replicas 값을 조정하는 것
예시
kubectl scale --replicas=6 rs/myapp-rs
7. 차이점
- 기능적 차이
- Replication Controller: 오래된 기술로, 대체로 단순한 레플리케이션 관리에 사용
- Replica Set: 더 유연하고 강력한 선택자와 함께 더 현대적인 방식으로 레플리케이션 관리를 제공
레플리카 셋은 Replication Controller의 진보된 버전으로 볼 수 있다.
- 권장 사용
- Kubernetes 공식 문서에서는 새로운 애플리케이션 배포 시 Replica Set을 사용할 것을 권장.
- Replication Controller보다 더 많은 기능과 유연성을 제공하며,
- 레플리카 셋이 점점 더 많은 컨트롤러 설정에서 기본으로 사용되고 있다.
8. 관련 kubectl 명령어
- kubectl create: Kubernetes 객체를 생성
- kubectl get: 생성된 Kubernetes 객체의 목록을 조회
- kubectl delete: 특정 Kubernetes 객체를 삭제.
- kubectl replace: 기존 Kubernetes 객체를 대체하거나 업데이트
- kubectl scale: Replica Set의 replicas 값을 조정하여 확장 또는 축소
728x90
'자격증 > CKA' 카테고리의 다른 글
[CKA] Udemy 36. Services - NodePort (0) | 2024.06.30 |
---|---|
[CKA] Udemy 32. Deployments (0) | 2024.06.26 |
[CKA] Udemy 22. Pods with YAML (0) | 2024.06.23 |
[CKA] Udemy 21. Pods (0) | 2024.06.23 |
[CKA] Udemy 20. Kube Proxy (0) | 2024.06.23 |