심플코더
간단한 코딩 공간
   

글쓰기    관리    수식입력
  • 분류 전체보기 (84)
    • AWS (1)
    • JavaScript (11)
    • 개인학습 (5)
    • DB (11)
    • OS (9)
    • Network (7)
    • DevOps (0)
    • TypeScript (1)
    • 개발 (1)
    • CKA (28)
hELLO · Designed By 정상우.
심플코더

간단한 코딩 공간

CKA

(TIL) Replicaset

Replication Controller

Pod를 하나만 실행할 경우, Pod이 종료되면 어플리케이션도 중단된다. 이를 방지하기위해 여러개의 Pod을 실행하여 High Availability를 보장하는 것은 매우 중요한 이슈이다.

Replication Controller는 특정 개수의 Pod이 항상 실행되도록 보장하는 컨트롤러이다. Pod이 종료되면 자동으로 새로운 Pod을 생성하여 지정된 개수를 유지한다.

Replication Controller는 아래와 같은 주요 기능을 가진다.

  • 지정된 개수의 Pod을 유지
  • Pod이 종료되면 자동으로 새로운 Pod을 생성
  • 여러개의 Pod를 배포하여 부하 분산 기능
  • Pod를 여러 노드에 배포하여 확장 가능

Replica Set

Replication Controller의 개선 버전으로 Replication Controller와 동일한 역할을 수행하지만 추가로 더 강력한 Selectors 기능을 제공한다. exact matching이 아니라 In, NotIn, Exists, DoesNotExist 등 matchExpression을 사용항 Selectors를 사용할 수 있다.

Replica Set의 Scaling

Replica Set의 yaml 파일 예시는 아래와 같다.

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: my-rs
  labels:
    app: my-app
spec:
  replicas: 3  
  selector: // selector 기능
    matchLabels:
      app: my-app
  template:  
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: nginx-container
          image: nginx

위 정의에서 replicas 값을 변경하면 Pod의 개수를 조절할 수 있다.

파일을 수정하지 않고도 아래와 같은 명령어를 사용하면 Pod 개수를 조절할 수 있다.

kubectl scale --replicas=6 rs/my-rs

'CKA' 카테고리의 다른 글

(TIL) Kubernetes Service  (0) 2025.03.16
(TIL) Kubernetes Deployment  (0) 2025.03.16
(TIL) Kubernetes의 Pod  (0) 2025.03.13
(TIL) Kube-Proxy  (0) 2025.03.09
(TIL) Kube-Scheduler  (0) 2025.03.09
    'CKA' 카테고리의 다른 글
    • (TIL) Kubernetes Service
    • (TIL) Kubernetes Deployment
    • (TIL) Kubernetes의 Pod
    • (TIL) Kube-Proxy
    심플코더
    심플코더

    티스토리툴바