다음을 통해 공유


YAML을 사용하여 Kubernetes에 자체 호스팅 게이트웨이 배포

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

이 문서에서는 Azure API Management의 자체 호스팅 게이트웨이 구성 요소를 Kubernetes 클러스터에 배포하는 단계를 설명합니다.

Important

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

참고 항목

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

필수 조건

Kubernetes에 배포

다음 단계에서는 Kubernetes에 자체 호스팅 게이트웨이를 배포하고 게이트웨이 액세스 토큰(인증 키)을 사용하여 API Management 인스턴스에 대한 인증을 사용하도록 설정합니다. 또한 Kubernetes에 자체 호스팅 게이트웨이를 배포하고 Microsoft Entra ID를 사용하여 API Management 인스턴스에 인증을 사용하도록 설정할 수 있습니다.

  1. 배포 및 인프라 아래에서 게이트웨이를 선택합니다.
  2. 배포하려는 자체 호스팅 게이트웨이 리소스를 선택합니다.
  3. 배포를 선택합니다.
  4. 토큰 텍스트 상자의 액세스 토큰은 기본 만료비밀 키 값을 기반으로 자동 생성되었습니다. 필요한 경우 컨트롤 중 하나 또는 둘 모두에서 원하는 값을 선택하여 새 토큰을 생성합니다.
  5. 배포 스크립트 아래에서 Kubernetes 탭을 선택합니다.
  6. <gateway-name>.yml 파일 링크를 선택하고 YAML 파일을 다운로드합니다.
  7. 배포 텍스트 상자의 오른쪽 아래 모서리에 있는 복사 아이콘을 선택하여 kubectl 명령을 클립보드에 저장합니다.
  8. AKS(Azure Kubernetes Service)를 사용하는 경우 새 터미널 세션에서 az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin을 실행합니다.
  9. 명령을 실행하여 기본 네임스페이스에 필요한 Kubernetes 개체를 만들고 Microsoft Artifact Registry에서 다운로드한 컨테이너 이미지에서 자체 호스팅 게이트웨이 Pod를 시작합니다.
    • 첫 번째 단계는 4단계에서 생성한 액세스 토큰을 포함하는 Kubernetes 비밀을 만듭니다. 다음으로, 게이트웨이 구성과 함께 ConfigMap을 사용하는 자체 호스팅 게이트웨이에 대한 Kubernetes 배포를 만듭니다.

게이트웨이가 실행 중인지 확인

  1. 다음 명령을 실행하여 배포가 성공했는지 확인합니다. 모든 개체를 만들고 Pod가 초기화될 때까지 시간이 약간 걸릴 수 있습니다.

    kubectl get deployments
    

    다음을 반환해야 합니다.

    NAME             READY   UP-TO-DATE   AVAILABLE   AGE
    <gateway-name>   1/1     1            1           18s
    
  2. 다음 명령을 실행하여 서비스가 성공적으로 만들어졌는지 확인합니다. 서비스 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
    
  3. Azure Portal로 돌아가서 개요를 선택합니다.

  4. 상태에 녹색 확인 표시가 있고 그 뒤에 YAML 파일에 지정된 복제본 수와 일치하는 노드 수가 표시되는지 확인합니다. 이 상태는 배포된 자체 호스팅 게이트웨이 Pod가 API Management 서비스와 성공적으로 통신하고 있으며 "하트비트"가 규칙적이라는 것을 의미합니다. 포털의 자체 호스팅 게이트웨이 상태를 보여주는 스크린샷.

  • 게이트웨이가 여러 개 있는 경우 kubectl logs deployment/<gateway-name> 명령을 실행하여 임의로 선택한 Pod의 로그를 확인합니다.
  • 명령 옵션 전체 세트에 대해 kubectl logs -h를 실행합니다(예: 특정 Pod 또는 컨테이너에 대한 로그를 보는 방법).

다음 단계