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


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

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

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

Примечание.

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

Требования

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

Совет

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

  1. Выберите Шлюзы в разделе Развертывание и инфраструктура.
  2. Выберите ресурс самостоятельно размещаемого шлюза, который вы хотите развернуть.
  3. Выберите Развертывание.
  4. Маркер доступа в текстовом поле Маркер был создан автоматически с использованием значений Срок действия и Секретный ключ. При необходимости выберите нужные значения в одном или обоих элементах управления, чтобы создать новый маркер.
  5. Выберите вкладку Kubernetes в разделе Сценарии развертывания.
  6. Выберите ссылку на файл <gateway-name>.yml и загрузите файл YAML.
  7. Выберите значок копирования в правом нижнем углу текстового поля Deploy, чтобы скопировать команды 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. Этот статус означает, что развернутые самостоятельно размещенные узлы шлюза успешно взаимодействуют со службой Управления API и имеют регулярный "сигнал".Снимок экрана, показывающий статус локального шлюза на портале.

Совет

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