Поделиться через


Развертывание локального шлюза в Kubernetes с помощью YAML

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Премия

В этой статье описаны действия по развертыванию компонента независимого шлюза службы Управления API Azure в кластере Kubernetes.

Примечание.

Также можно развернуть локальный шлюз в кластере Kubernetes с поддержкой Azure Arc в качестве расширения кластера.

Необходимые компоненты

Развертывание в Kubernetes

Совет

Ниже описано, как развернуть локальный шлюз в Kubernetes и включить проверку подлинности в экземпляре Управление API с помощью маркера доступа шлюза (ключ проверки подлинности). Вы также можете развернуть локальный шлюз в Kubernetes и включить проверку подлинности в экземпляре Управление API с помощью идентификатора Microsoft Entra.

  1. Выберите Шлюзы в разделе Развертывание и инфраструктура.
  2. Выберите ресурс независимого шлюза, который требуется развернуть.
  3. Выберите Deployment (Развертывание).
  4. Маркер доступа в текстовом поле Маркер был создан автоматически с использованием значений Срок действия и Секретный ключ. При необходимости выберите нужные значения в одном или обоих элементах управления, чтобы создать новый маркер.
  5. Выберите вкладку Kubernetes в разделе Сценарии развертывания.
  6. Выберите ссылку на файл <gateway-name>.yml и загрузите файл YAML.
  7. Выберите значок копирования в правом нижнем углу текстового поля Развернуть, чтобы сохранить команды kubectl в буфер обмена.
  8. При использовании Служба Azure Kubernetes (AKS) выполните в az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin новом сеансе терминала.
  9. Выполните команды, чтобы создать необходимые объекты Kubernetes в пространстве имен по умолчанию и запустить собственные модули шлюзов из образа контейнера, загруженного из Microsoft Artifact Registry.
    • Первый шаг создает секрет Kubernetes, содержащий маркер доступа, созданный на шаге 4. Затем он создает развертывание Kubernetes для локального шлюза, который использует ConfigMap с конфигурацией шлюза.

Убедитесь, что шлюз запущен

  1. Выполните следующую команду, чтобы проверить успешность развертывания. Для инициализации объектов может потребоваться немного времени.

    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 и выберите Обзор.

  4. Убедитесь, что в поле Состояние отображается зеленый флажок, а затем количество узлов, соответствующее количеству реплик, указанных в файле YAML. Это состояние означает, что развернутые модули pod шлюза успешно взаимодействуют с службой Управление API и имеют регулярное "пульс".Снимок экрана: состояние локального шлюза на портале.

Совет

  • Выполните команду kubectl logs deployment/<gateway-name>, чтобы просмотреть журналы из случайного выбранного модуля pod, если их больше одного.
  • Выполните kubectl logs -h для получения полного набора параметров команды, например, команды просмотра журналов для определенного модуля pod или контейнера.

Следующие шаги