YAML을 사용하여 Kubernetes에 자체 호스팅 게이트웨이 배포
적용 대상: 개발자 | 프리미엄
이 문서에서는 Azure API Management의 자체 호스팅 게이트웨이 구성 요소를 Kubernetes 클러스터에 배포하는 단계를 설명합니다.
참고 항목
자체 호스팅 게이트웨이를 Azure Arc 지원 Kubernetes 클러스터에 클러스터 확장으로 배포할 수도 있습니다.
필수 조건
- 다음 빠른 시작 Azure API Management 인스턴스 만들기를 완료합니다.
- Kubernetes 클러스터를 만들거나 기존 클러스터에 액세스할 수 있습니다.
팁
단일 노드 클러스터는 개발 및 평가 목적에 적합합니다. 프로덕션 워크로드에는 온-프레미스 또는 클라우드에서 Kubernetes 인증 다중 노드 클러스터를 사용하세요.
- API Management 인스턴스에 자체 호스팅 게이트웨이 리소스를 프로비전합니다.
Kubernetes에 배포
팁
다음 단계에서는 Kubernetes에 자체 호스팅 게이트웨이를 배포하고 게이트웨이 액세스 토큰(인증 키)을 사용하여 API Management 인스턴스에 대한 인증을 사용하도록 설정합니다. 또한 Kubernetes에 자체 호스팅 게이트웨이를 배포하고 Microsoft Entra ID를 사용하여 API Management 인스턴스에 인증을 사용하도록 설정할 수 있습니다.
- 배포 및 인프라 아래에서 게이트웨이를 선택합니다.
- 배포하려는 자체 호스팅 게이트웨이 리소스를 선택합니다.
- 배포를 선택합니다.
- 토큰 텍스트 상자의 액세스 토큰은 기본 만료 및 비밀 키 값을 기반으로 자동 생성되었습니다. 필요한 경우 컨트롤 중 하나 또는 둘 모두에서 원하는 값을 선택하여 새 토큰을 생성합니다.
- 배포 스크립트 아래에서 Kubernetes 탭을 선택합니다.
- <gateway-name>.yml 파일 링크를 선택하고 YAML 파일을 다운로드합니다.
- 배포 텍스트 상자의 오른쪽 아래 모서리에 있는 복사 아이콘을 선택하여
kubectl
명령을 클립보드에 저장합니다. - AKS(Azure Kubernetes Service)를 사용하는 경우 새 터미널 세션에서
az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin
을 실행합니다. - 명령을 실행하여 기본 네임스페이스에 필요한 Kubernetes 개체를 만들고 Microsoft Artifact Registry에서 다운로드한 컨테이너 이미지에서 자체 호스팅 게이트웨이 Pod를 시작합니다.
- 첫 번째 단계는 4단계에서 생성한 액세스 토큰을 포함하는 Kubernetes 비밀을 만듭니다. 다음으로, 게이트웨이 구성과 함께 ConfigMap을 사용하는 자체 호스팅 게이트웨이에 대한 Kubernetes 배포를 만듭니다.
게이트웨이가 실행 중인지 확인
다음 명령을 실행하여 배포가 성공했는지 확인합니다. 모든 개체를 만들고 Pod가 초기화될 때까지 시간이 약간 걸릴 수 있습니다.
kubectl get deployments
다음을 반환해야 합니다.
NAME READY UP-TO-DATE AVAILABLE AGE <gateway-name> 1/1 1 1 18s
다음 명령을 실행하여 서비스가 성공적으로 만들어졌는지 확인합니다. 서비스 IP와 포트는 다릅니다.
kubectl get services
다음을 반환해야 합니다.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE <gateway-name>-live-traffic ClusterIP None <none> 4290/UDP,4291/UDP 9m1s <gateway-name>-instance-discovery LoadBalancer 10.99.236.168 <pending> 80:31620/TCP,443:30456/TCP 9m1s
Azure Portal로 돌아가서 개요를 선택합니다.
상태에 녹색 확인 표시가 있고 그 뒤에 YAML 파일에 지정된 복제본 수와 일치하는 노드 수가 표시되는지 확인합니다. 이 상태는 배포된 자체 호스팅 게이트웨이 Pod가 API Management 서비스와 성공적으로 통신하고 있으며 "하트비트"가 규칙적이라는 것을 의미합니다.
팁
- 게이트웨이가 여러 개 있는 경우
kubectl logs deployment/<gateway-name>
명령을 실행하여 임의로 선택한 Pod의 로그를 확인합니다. - 명령 옵션 전체 세트에 대해
kubectl logs -h
를 실행합니다(예: 특정 Pod 또는 컨테이너에 대한 로그를 보는 방법).
다음 단계
- 자체 호스팅 게이트웨이에 대한 자세한 내용은 자체 호스팅 게이트웨이 개요를 참조하세요.
- API Management 자체 호스팅 게이트웨이를 Azure Arc 지원 Kubernetes 클러스터에 배포하는 방법에 대해 알아봅니다.
- 프로덕션의 Kubernetes에서 자체 호스팅 게이트웨이 실행 지침에 대해 자세히 알아봅니다.