Azure API Management 자체 호스팅 게이트웨이를 Azure Kubernetes Service에 배포

적용 대상: 개발자 | 프리미엄

이 문서에서는 Azure API Management의 자체 호스팅 게이트웨이 구성 요소를 Azure Kubernetes Service에 배포하는 단계를 제공합니다. Kubernetes 클러스터에 자체 호스팅 게이트웨이를 배포하는 방법은 배포 YAML 파일 또는 Helm 포함을 사용한 배포 방법 문서를 참조하세요.

Important

Azure API Management 자체 호스팅 게이트웨이 버전 0 및 버전 1 컨테이너 이미지에 대한 지원은 해당 구성 API v1과 함께 2023년 10월 1일에 종료됩니다. 구성 API v2와 함께 자체 호스팅 게이트웨이 v2.0.0 이상을 사용하려면 마이그레이션 가이드를 사용합니다. 사용 중단 설명서에서 자세히 알아보기

참고 항목

자체 호스팅 게이트웨이를 Azure Arc 지원 Kubernetes 클러스터클러스터 확장으로 배포할 수도 있습니다.

필수 조건

AKS에 자체 호스팅 게이트웨이 배포

  1. 배포 및 인프라 아래에서 게이트웨이를 선택합니다.

  2. 배포하려는 자체 호스팅 게이트웨이 리소스를 선택합니다.

  3. 배포를 선택합니다.

  4. 토큰 텍스트 상자의 새 토큰은 기본 만료비밀 키 값을 사용하여 자동으로 생성되었습니다. 원하는 경우 둘 중 하나 또는 둘 다를 조정하고 생성을 선택하여 새 토큰을 만듭니다.

  5. 배포 스크립트 아래에서 Kubernetes가 선택되어 있는지 확인합니다.

  6. 배포 옆의 <gateway-name>.yml 파일 링크를 선택하여 파일을 다운로드합니다.

  7. 필요에 따라 yml 파일의 config.service.endpoint, 포트 매핑 및 컨테이너 이름을 조정합니다.

  8. 시나리오에 따라 서비스 유형을 변경해야 할 수도 있습니다.

    • 기본값은 외부 부하 분산 장치인 LoadBalancer입니다.
    • 내부 부하 분산 장치를 사용하여 자체 호스팅 게이트웨이에 대한 액세스를 내부 사용자로만 제한할 수 있습니다.
    • 아래 샘플에서는 NodePort를 사용합니다.
  9. 배포 텍스트 상자의 오른쪽 끝에 있는 복사 아이콘을 선택하여 kubectl 명령을 클립보드에 저장합니다.

  10. 명령을 터미널(또는 명령) 창에 붙여넣습니다. 이 명령은 다운로드한 환경 파일이 현재 디렉터리에 있는 것으로 예상합니다.

    kubectl apply -f <gateway-name>.yaml
    
  11. 명령을 실행합니다. 이 명령은 AKS 클러스터에 다음을 지시합니다.

    • Microsoft Container Registry에서 다운로드한 자체 호스팅 게이트웨이의 이미지를 사용하여 컨테이너를 실행합니다.
    • HTTP(8080) 및 HTTPS(443) 포트를 노출하도록 컨테이너를 구성합니다.
  12. 아래 명령을 실행하여 게이트웨이 Pod가 실행하고 있는지 확인합니다. Pod 이름이 달라집니다.

    kubectl get pods
    NAME                                   READY     STATUS    RESTARTS   AGE
    contoso-apim-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  13. 아래 명령을 실행하여 게이트웨이 서비스가 실행하고 있는지 확인합니다. 서비스 이름과 IP 주소가 달라집니다.

    kubectl get services
    NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
    contosogateway   NodePort    10.110.230.87   <none>        80:32504/TCP,443:30043/TCP   1m
    
  14. Azure Portal로 돌아가서 배포한 게이트웨이 노드가 정상 상태를 보고하는지 확인합니다.

kubectl logs <gateway-pod-name> 명령을 사용하여 자체 호스팅 게이트웨이 로그의 스냅샷을 봅니다.

다음 단계