korean-docs
Wave Sizing
Resize Now (수동 적용)

Resize Now (수동 적용)

Resize Now직접 결정한 시점에 추천 값을 적용합니다. 컨테이너 하나씩, 어떤 값을 반영할지 완전히 제어할 수 있습니다. Realtime Resizing을 사용할 수 없는 Smart Sizing with HPA / Autopilot 워크로드를 포함해 모든 워크로드에서 동작합니다.

Smart Sizing 탭의 컨테이너 카드에서 Resize Now를 클릭합니다:

Resize Container modal with resize method radio, CPU and memory sliders, and new request/limit inputs

Resize Method

방법동작사용 가능 조건
Edit CRD (Restart Required)워크로드 매니페스트 (spec.template.spec.containers[*].resources)를 패치합니다. Pod는 워크로드의 일반적인 롤링 업데이트 전략으로 재시작됩니다항상, 모든 Kubernetes 버전, 모든 워크로드 종류
In-Place Pod Resize (Live Resize)실행 중인 각 Pod에 /resize 요청을 보냅니다. 새 CPU/메모리가 Pod를 재시작하지 않고 적용됩니다클러스터 지원 필요 (아래 참고). Wave가 런타임에 확인해 지원하지 않으면 옵션을 비활성화합니다

Edit CRD 라벨은 콘솔의 버튼과 동일합니다. 이름과 달리, 이 방법은 Wave Custom Resource가 아니라 워크로드 자체의 매니페스트 (Deployment나 StatefulSet의 spec.template.spec.containers[*].resources)를 패치하며, CRD Mode와는 무관합니다.

In-Place Pod Resize 클러스터 요구사항

Kubernetes 버전In-Place 상태
< 1.27사용 불가. Edit CRD를 사용하세요
1.27~1.32Alpha, InPlacePodVerticalScaling 기능 게이트를 수동으로 활성화해야 함
1.33~1.34기본 활성화
≥ 1.35GA

모달이 열리면 Wave가 클러스터에 대해 dry-run으로 지원 여부를 확인합니다. in-place resize를 사용할 수 없으면 라디오 옵션이 이유를 설명하는 툴팁과 함께 비활성화됩니다.

Container resize policy. 컨테이너의 resizePolicy는 리소스별 항목의 목록이며, 각 항목은 resourceNamerestartPolicy를 쌍으로 갖습니다. CPU나 메모리 항목의 restartPolicyRestartContainer로 설정되어 있으면 해당 리소스는 in-place로 리사이즈할 수 없고, 관련 입력란이 비활성화됩니다. 실시간 리사이즈를 허용하려면 해당 리소스의 restartPolicyNotRequired로 설정하세요:

resizePolicy:
  - resourceName: cpu
    restartPolicy: NotRequired
  - resourceName: memory
    restartPolicy: NotRequired

값 선택하기

네 개의 필드 (CPU request, CPU limit, memory request, memory limit)마다 각각 체크박스가 있어, 부분 업데이트 (CPU만, request만)도 가능합니다:

  • 입력란에는 추천 값이 미리 채워지며, 현재 값이 대체값(fallback)으로, 추천 값은 힌트(Rec: 0.22 CPU)로 표시됩니다.
  • 체크된 필드만 적용됩니다. 최소 하나는 활성화해야 하고, 0 값은 거부됩니다. Wave는 request나 limit에 0을 클러스터에 절대 기록하지 않습니다.
  • In-Place 모드에서는 메모리 limit 필드를 사용할 수 없습니다 (in-place 경로는 메모리 request만 적용합니다).

Copy YAML은 체크된 값에 대한 리소스 스니펫을 생성합니다. 콘솔 대신 GitOps 파이프라인으로 변경 사항을 반영해야 할 때 유용합니다.

컨테이너에서 처음 Resize Now를 실행하면 원래 값도 캡처되어, Restore Original 버튼을 사용할 수 있게 됩니다.

문제 해결

증상원인 / 해결
In-Place 옵션이 비활성화됨클러스터가 dry-run 지원 확인에 실패했습니다: Kubernetes가 너무 오래되었거나, 기능 게이트가 꺼져 있거나, API가 pod resize를 거부합니다. Edit CRD를 사용하세요
Node 리소스 부족으로 in-place 적용이 거부됨새 request가 Pod가 있는 Node에 들어가지 않습니다. Wave는 Pod를 축출하지 않으므로, 롤아웃으로 재스케줄링하려면 Edit CRD를 사용하세요
몇 분 안에 매니페스트 변경이 되돌아감Argo CD auto-sync가 drift를 감지해 Git 상태로 복원했습니다. 이 워크로드의 auto-sync를 끄거나, Git을 통해 변경을 적용하세요 (Copy YAML 사용)
0 값 오류로 저장이 거부됨활성화된 필드에 사용할 수 있는 값이 없습니다 (아직 추천 값이 없음). 체크를 해제하거나 값을 직접 입력하세요
모달이 읽기 전용이고 "Managed by CRD" 툴팁이 표시됨콘솔이 CRD 모드입니다. GitOps 플로우를 통해 리소스를 적용하세요