Развернутая небольшая служба приложений tanzu (tas) в Azure без доменов. Могу ли я получить доступ к ccapi и диспетчеру приложений с IP-адресом?

Можно ли развернуть Bosh и службу приложений tanzu small footprint (tas) в Azure без использования доменов. Все виртуальные машины работают. Могу ли я получить доступ к ccapi и диспетчеру приложений с IP-адресом вместо api.SYSTEMDOMAIN?

2 ответа

Решение

Краткий ответ: нет. Вы действительно хотите, чтобы DNS был настроен правильно.


Вот длинный ответ с более тонкими нюансами.

Все запросы в ваш фонд проходят через Gorouter. Gorouter принимает входящий запрос, просматривает заголовок и использует его, чтобы определить, куда отправить запрос. Это происходит так же для системных служб, как CAPI и UAA, и для приложений, которые вы развертываете на основе.

DNS является требованием из-за заголовка. Браузер, пытающийся получить доступ к CAPI или приложению на вашем фундаменте, установит заголовок на основе записи DNS, которую вы вводите в адресную строку браузера. Cf CLI будет делать то же самое.

Есть несколько способов обойти это:

  1. Если вы строго используете такого клиента, как curl где вы можете установить Hostзаголовок в произвольные значения. Таким образом, вы можете установить заголовок хоста и одновременно подключиться к IP-адресу вашего фонда. Однако это не очень элегантный способ использования CF.

  2. Вы можете вручную установить записи в вашем /etc/hosts` (или аналогичном в Windows). По сути, это способ переопределить разрешение DNS и предоставить свой собственный IP-адрес.

    Вам нужно будет сделать это для uaa.system_domain, login.system_domain, api.system_domain и любые имена хостов, которые вы хотите использовать для приложений, развернутых на вашем фундаменте, например my-super-cool-app.apps_domain. Все они должны указывать на IP-адрес балансировщика нагрузки, который находится перед вашим пулом Gorouters.

    Если вы добавите достаточно записей, вы можете заставить работать cf CLI. Я делал это время от времени, чтобы обойти уровень балансировщика нагрузки в целях устранения неполадок.

    Это не сработает в системах, где вы не можете редактировать, например, если клиенты или внешние пользователи программного обеспечения, работающего на вашем фундаменте, или если вы пытаетесь развернуть приложения на вашем фундаменте, которые общаются друг с другом, используя маршруты на CF (поскольку ты не можешь редактировать /etc/hostsв контейнере). Как если бы у вас app-a.apps_domain и app-b.apps_domain и app-a нужно поговорить с app-b. Это не сработает, потому что у вас нет разрешения DNS для apps_domain.

    Вы, вероятно, сможете заставить взаимодействие между приложениями работать, если у вас есть возможность использовать сеть контейнер-контейнер и домен. Разрешение для этого домена обеспечивается Bosh DNS. Вы должны помнить об этой разнице при развертывании ваших приложений и отображении маршрутов на apps.internal домен, а также настройку сетевой политики, разрешающей трафик между ними.

В любом случае, могут быть и другие икоты. Это просто не в моей голове. Как видите, будет намного лучше, если вы сможете настроить DNS.

Самый простой способ создать портативное решение - это такая служба, как xip.io, которая будет работать «из коробки». Я настроил и запустил много PoC таким образом, когда DNS с подстановочными знаками был чем-то, о чем корпоративные ИТ-отделы еще не обращали внимания.

Это работает так (отрывок с их сайта):

Что такое xip.io?xip.io - это волшебное доменное имя, которое обеспечивает DNS с подстановочными знаками для любого IP-адреса. Скажем, ваш IP-адрес в локальной сети - 10.0.0.1. Используя xip.io,

            10.0.0.1.xip.io   resolves to   10.0.0.1
  www.10.0.0.1.xip.io   resolves to   10.0.0.1

mysite.10.0.0.1.xip.io разрешается до 10.0.0.1foo.bar.10.0.0.1.xip.io разрешается до 10.0.0.1

...и так далее. Вы можете использовать эти домены для доступа к виртуальным хостам на вашем веб-сервере разработки с устройств в вашей локальной сети, таких как iPad, iPhone и другие компьютеры. Конфигурация не требуется!

Другие вопросы по тегам