본문 바로가기

Kubernetes

[Kubernetes] Deploy Rolling Update maxSurge 값 조정

반응형

 

Kubernetes에서 Rolling Update 전략을 사용하여 애플리케이션을 업데이트할 때, maxSurge는 업데이트 중에 추가로 생성될 수 있는 파드의 최대 수를 설정하는 옵션입니다. 이 설정은 애플리케이션의 가용성을 유지하면서 새로운 버전의 파드를 배포할 수 있게 합니다.


maxSurge의 기능
1. 정의: maxSurge는 업데이트 시 최대 몇 개의 새로운 파드를 추가로 허용할지를 결정합니다. 이는 새 파드가 기존 파드를 대체하는 과정에서 가용성을 높이기 위한 것입니다.
2. 값:
 - 정수 값: 예를 들어, maxSurge: 2로 설정하면, 최대 2개의 추가 파드가 생성될 수 있습니다.
 - 백분율 값: 예를 들어, maxSurge: "30%"로 설정하면, 전체 파드 수의 30%에 해당하는 만큼의 추가 파드를 생성할 수 있습니다.

 

다음은 Deployment 리소스의 예시입니다:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: example-deployment
spec:
  replicas: 5
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 2        # 최대 2개의 추가 파드 생성
      maxUnavailable: 1   # 동시에 사용할 수 없는 파드의 최대 수
  template:
    metadata:
      labels:
        app: example
    spec:
      containers:
      - name: example-container
        image: example-image:latest

 

요약
 - maxSurge를 사용하면 새로운 버전의 애플리케이션을 배포할 때 가용성을 높이면서 신속하게 업데이트할 수 있습니다.
 - maxUnavailable와 함께 설정하여 전체적인 파드 수를 관리하고 애플리케이션의 다운타임을 최소화하는 데 중요한 역할을 합니다.

 

maxSurge 값을 높게 조정하면 배포시 노드 리소스 부족 현상이 발생할 수 있음

maxSurge 값을 낮게 조정하면 배포 속도가 느려질 수 있음

→ 업무 및 서비스별 특성에 맞게 적정 값을 조정할 필요가 있음

반응형