본문으로 건너뛰기

Using Static PV When Deploying Kong API Gateway

개요

기본적으로 APIM UI를 사용하여 Kong Gateway를 생성할 때, Persistent Volume Claim (PVC) 및 Persistent Volume (PV)은 StorageClass를 통해 동적으로 프로비저닝됩니다. 그러나 특정 환경에서는 미리 프로비저닝된 정적 PV를 사용하고 싶을 수 있습니다. 이 가이드는 정적 PV를 사용하여 Kong Gateway를 구성하고 배포하는 방법을 설명합니다.

배포 전 설정

사전 게이트웨이 이름 정의

배포할 게이트웨이 이름을 결정하고 목록을 작성합니다.

예시:

  • test-gw
  • dev-gw

정적 PV에 바인딩된 PVC 수동 생성

PVC 명명 규칙:

data-<GATEWAY_NAME>-postgresql-0

예시:

data-test-gw-postgresql-0

PVC가 적절한 정적 PV에 미리 바인딩되어 있는지 확인합니다.

게이트웨이 배포 및 초기 마이그레이션 처리

APIM UI를 통해 게이트웨이 생성

APIM UI에서 게이트웨이를 생성할 때 이전에 정의한 것과 동일한 이름(예: test-gw)을 사용합니다.

마이그레이션 포드 시작 실패 처리

  • 초기 마이그레이션 단계에서 DB가 아직 준비되지 않은 경우 포드가 실패할 수 있습니다.
  • 이는 일반적으로 Kong이 DB가 완전히 초기화되기 전에 시작되는 타이밍 문제로 인해 발생합니다.

수동 마이그레이션 실행

Kong 포드 로그 확인

다음 로그 중 하나를 통해 포드가 마이그레이션을 기다리고 있는지 확인합니다:

kong migrations bootstrap

또는

kong migrations up

Kong 컨테이너에 수면 명령 추가

Kong 컨테이너가 계속 실행되도록 사용자 정의 명령으로 배포 사양을 수정합니다:

command: ["/bin/bash", "-c", "sleep 300000"]

이것은 Kong 컨테이너가 init-container가 완료된 후 슬립 상태에 들어가도록 보장합니다.

수동 마이그레이션 실행 (포드 내)

마이그레이션을 수동으로 수행하려면 다음 명령을 실행하십시오:

k exec -it -n <namespace> <kong-pod-name> -- kong migrations bootstrap
k exec -it -n <namespace> <kong-pod-name> -- kong migrations up

정상 작동을 위한 마무리

슬립을 제거하고 Kong을 재시작하십시오:

  • 배포 사양에서 사용자 정의 명령을 되돌리거나 삭제하십시오.
  • Kong 포드를 재시작하여 정상적으로 시작할 수 있도록 하십시오.

추가 참고 사항

  • 이 절차는 초기 게이트웨이 설정 중에 정적 PV를 사용할 때만 필요합니다.
  • 프로덕션 환경에서는 Kong이 시작되기 전에 DB가 완전히 준비되었는지 확인하십시오. 다음과 같은 적절한 설정을 사용하십시오:
    • initContainer
    • readinessProbe