Как поместить HTTP-шлюз поверх экземпляров контейнера Azure?
1 ответ
Здесь есть шаблон Azure, который интегрирует шлюз приложений с экземплярами контейнера. В этом примере ACI развернуты в VNET, а шлюз приложений служит точкой входа в API.
Вы, вероятно, можете разместить эти шаблоны в соответствии с вашими требованиями.
Шаг за шагом:
- Загрузите свои изображения в Реестр контейнеров
- Создайте два отдельных экземпляра контейнера.
- Тип изображения: Частный
- Заполните все обязательные поля, обязательно укажите имя хоста реестра контейнеров в имени образа (имя контейнера может быть любым)
- Выставьте свои порты на вкладке сети
- Добавьте метку имени DNS. Почему? IP можно изменить, см. Эту документацию.
- Добавьте свои переменные env, если есть
- Он должен создать их без проблем. Попробуйте получить доступ к предоставленным DNS и проверьте, правильно ли работают сайты.
- Создать новый шлюз приложений
- Заполните все обязательные поля (имя, уровень, что угодно...). Используйте Tier Standard V2.
- Общедоступный интерфейс, при необходимости создайте новый IP-адрес.
- Добавьте два пула bakend, используйте IP или имя хоста и укажите DNS, созданные на шаге 2, для каждого ACI.
- Добавить маршрут: Тип слушателя: Базовый. В Backend целей наполняются целевым типом = бэкэнд бассейном, выберите один из пулов серверных и создать новый параметр HTTP. Литерально заполните его любыми значениями, которые вы хотите, я никогда не смогу заставить это работать на первой странице, поэтому я всегда редактирую его позже.
- Добавить теги yout
- Хит создать
- Когда он закончится, перейдите в только что созданный appGateway и найдите настройки HTTP.
- Это параметры подключения, которые appGW использует для подключения к вашему бэкэнду, если ваш бэкэнд слушает тот же порт, тот же путь и так далее, вы можете повторно использовать настройку HTTP, если он не создает 2.
- Перейдите к правилам и создайте правило на основе пути.
- Проверьте свой единственный слушатель, бэкэнд по умолчанию и связанные с ним настройки.
- Добавьте путь к своему второму бэкэнду name=endpoint2;paths=_ / endpoint2 / *_BackendPool=backend2;HTTPSetting=backend2HTTPSetting
И это все!
Я вижу два непосредственных варианта:
- Управление API
- Функция Прокси (облегченная опция)