Я портирую в Azure приложение, которое изначально было разработано для предприятия Amazon Fargate. Особенностью Fargate является возможность создавать частную зону DNS и автоматически регистрировать создаваемые им имена служб в этой зоне. Это позволяет любой службе Fargate, а также другим виртуальным машинам в том же VPC / подсети иметь возможность ссылаться на службы по имени, используя service-name.zone-name
.
Это особенно полезно для виртуальных машин, которые мы запускаем в нашем продукте, поскольку они могут выполнять REST-вызовы к микросервисам, работающим в Fargate, напрямую по своим автоматически сгенерированным частным именам DNS.
Мы используем AKS в нашей реализации Azure, и я обнаружил, что kubernetes предоставляет аналогичный механизм для контейнеров, которыми он управляет, создавая записи формы service-name.namespace
, которые сопоставляются с IP-адресом кластера служб. Это отлично работает в сети kubernetes, но любые виртуальные машины, которые мы запускаем в той же виртуальной сети, не знают об этих псевдонимах службы AKS.
Итак, у меня такой вопрос: есть ли способ использовать частный DNS-объект Azure и связать его с AKS, чтобы виртуальные машины, находящиеся в одной виртуальной сети, также могли ссылаться на службы Kubernetes по имени, а не по IP-адресу?