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