자격증/CKA

[CKA] Udemy 29. ReplicaSet

14ben 2024. 6. 24. 23:14
728x90

목차

  1. Replica Sets 소개
  2. Replication Controller 소개
  3. Replication Controller 생성 및 관리
  4. Replica Set 소개
  5. Replica Set 생성 및 관리
  6. Replica Set 확장 방법
  7. 차이점
  8. 관련 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