replicaset 을 이용해 파드를 관리할 때, 파드 수에 대한 수평적 확장 즉, 파드 스케일 아웃을 수행하는 방법은 두가지가 있다.
먼저 아래 내용으로 파드 레플리카를 3개 구동시킨다.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: sample-rs
spec:
replicas: 3
selector:
matchLabels:
app: sample-app
template:
metadata:
labels:
app: sample-app
spec:
containers:
- name: nginx-container
image: nginx:1.16
ports:
- containerPort: 80
아래 커맨드를 실행해 파드 갯수를 확인한다.
$ kubectl describe replicasets.apps sample-rs
# replicaset 의 정보 확인
$ kubectl get pods -o wide -L app
# pod 가 3개 띄워져 있는지 확인
1. kubectl scale 명령어를 이용하는 방법
아래 커맨드를 실행해 pod 의 갯수를 5개로 조정 후 다시 파드의 갯수를 확인한다.
$ kubectl scale replicaset sample-rs --replicas 5
# replica 갯수를 5개로 조정
$ kubectl get pods -o wide -L app
# pod 의 갯수가 5개로 변경되었는지 확인
kubectl scale 명령어를 이용한 이 방법은 커맨드로 간편하게 스케일링을 할 수 있으나, 현재 상태가 매니페스트 파일과 동일하지 않게 되기 때문에 실무에서는 권장하지 않는 방법이다.
참고로, scale 명령어는 ReplicationController, Deployment, StatefulSet, Job, CronJob 에 대해서도 사용할 수 있다.
2. 매니페스트를 동적으로 수정 후 kubectl apply 하는 방법
아래 커맨드를 실행해 replica 수를 3개에서 5개로 수정하여 저장한 후, 매니페스트를 apply 한다.
$ sed -i -e 's|replicas: 3|replicas: 5|' sample-rs.yaml
# sed 명령어를 이용해 sample-rs.yaml 파일의 내용 중 "replicas: 3" 를 "replicas: 5" 로 치환
$ kubectl apply -f sample-rs.yaml
# 변경된 매니페스트 적용
$ kubectl get pods -o wide -L app
# pod 의 갯수가 5개로 변경되었는지 확인
이를 원시적으로 응용하면 원격에서 쉘스크립트를 호출하며 인자를 넘겨 replica 갯수를 조정할 수 있을 것이다. IaC 를 구현하기 위해서라도 이러한 형태로 사용하는 것이 권장된다.
'Kubernetes' 카테고리의 다른 글
[Kubernetes] 컨테이너 작업 디렉터리 설정 (0) | 2025.08.24 |
---|---|
[Kubernetes] 파드 내 모든 컨테이너의 정적 호스트 설정 (0) | 2025.08.24 |
[Kubernetes] 파드 DNS 설정 (0) | 2025.08.24 |
[Kubernetes] 파드 디자인 패턴 (0) | 2025.07.29 |
[Kubernetes] static pod 생성하기 (0) | 2025.05.25 |