본문으로 건너뛰기
hannctl.
PDF ↓
← 모든 작업
02 / PF-02 · GCP · IaC IaC 자동화

GCP Terraform GKE 플랫폼.

노드 풀 업그레이드 중에도 용량을 유지하는 SURGE 설정과, VPN 대역만 허용하는 방화벽 기본선을 코드로 담은 모듈 모음입니다.

PERIOD
개인 프로젝트 · 2026.11 공개
MY ROLE
설계 · 구현
TOOLS & CONTEXT
Terraform · GCP · GKE · Cloud Logging · Cloud Monitoring — 모듈 22종 · 예제 3개
GKE 노드 풀 SURGE 업그레이드max_surge = 5 max_unavailable = 0새 노드기존 노드기존 노드를 하나씩 제거 · 사용 불가 0새 노드 5개로 교체 완료 · 사용 불가 노드 0soak 3600s는 BLUE_GREEN 전략에서만 적용
교체가 끝납니다. soak 3600s는 BLUE_GREEN으로 바꿀 때만 읽히는 값입니다.
01 / CONTEXT

문제

GKE 노드를 업그레이드하는 동안 서비스 용량이 줄면 안 됐고, 관리 포트는 VPN 대역에서만 열려야 했습니다.

02 / DECISIONS

접근

노드 풀 업그레이드 전략을 SURGE로 두어 새 노드 5대를 먼저 올리고 사용 불가 노드를 0으로 유지합니다. c2sfirewall 모듈은 우선순위 1000으로 VPN의 관리 포트만 열고, 우선순위 65534로 그 외 tcp와 udp 아웃바운드를 막습니다.

03 / ENGINEERING

구현

  • Terraform
  • GCP
  • GKE
  • Cloud Logging
  • Cloud Monitoring

규모 · 모듈 22종 · 예제 3개

FLOW / 05
GKE 노드 풀 SURGE 업그레이드max_surge = 5 max_unavailable = 0기존 노드

노드 풀 업그레이드 전략은 SURGE입니다. max_surge 5, max_unavailable 0입니다.

01 / 05
전체 단계 읽기
  1. 노드 풀 업그레이드 전략은 SURGE입니다. max_surge 5, max_unavailable 0입니다.
  2. 새 노드 5개가 먼저 뜹니다. 기존 노드는 아직 그대로입니다.
  3. 워크로드가 새 노드로 옮겨 갑니다. 교체 중에도 빠지는 노드는 없습니다.
  4. 새 노드가 준비된 뒤에야 기존 노드가 하나씩 빠집니다.
  5. 교체가 끝납니다. soak 3600s는 BLUE_GREEN으로 바꿀 때만 읽히는 값입니다.
우선순위 순서로 평가되는 방화벽c2sfirewall 모듈이 만드는 규칙 2개 + GCP 기본 규칙1000 · INGRESS allowVPN 대역 → tcp 22, 3389, 637965534 · EGRESS denytcp, udp 0-65535 아웃바운드 차단65535 · GCP 기본 규칙인바운드 deny, 아웃바운드 allowVPNallow서버 아웃바운드deny기본 차단, 필요한 경로만 앞선 우선순위로 허용
65534 규칙보다 앞선 allow 규칙을 추가하면 필요한 경로만 열 수 있습니다.
04 / VERIFICATION

결과

새 노드가 준비된 뒤에야 기존 노드가 빠집니다. 호스트 장애는 hostError 감사 로그에서 로그 기반 지표, 알림 정책, Slack 채널 순으로 이어지도록 구성했습니다.

22
공개한 Terraform 모듈
5
max_surge로 먼저 뜨는 새 노드
0
max_unavailable, 동시에 빠지는 노드
05 / REFLECTION

배운 점

설정 이름만 보고 동작을 판단하면 틀릴 수 있다는 점을 배웠습니다. soak 시간처럼 이름만 보면 모든 업그레이드에 적용될 것 같은 값도 실제로는 BLUE_GREEN 전략에서만 읽히기 때문에, SURGE 예제에서는 이 값이 동작하지 않는다는 사실을 주석으로 분명히 남겼습니다. 업그레이드 중 용량을 지키는 것도 "새 노드를 먼저 올리고(max_surge 5), 빠지는 노드는 0으로 둔다"처럼 의도를 숫자로 고정해야 운영자가 바뀌어도 같은 결과가 나옵니다. 방화벽 역시 필요한 관리 포트만 우선순위 1000으로 열고 나머지를 65534에서 막는 기본선을 모듈에 넣어, 새 환경이 처음부터 같은 규칙으로 시작하게 했습니다.

OUTCOME

모듈 22종 — max_surge 5, max_unavailable 0

공개 레포: pf-02-gcp-terraform-gke-platform ↗

NEXT / PF-03 · Tencent · IaC Tencent Cloud 감사 대비 Terraform

사이트 검색

바로 가기 ↑ ↓ 결과 이동 · Enter 열기 · Esc 닫기

테마 고르기

사원증을 누르면 그 테마로, 보던 내용과 같은 곳으로 이동합니다. 끌면 흔들리기만 합니다.

처음 화면으로 →