Kubernetes: подключитесь к Azure SQL - PullRequest
0 голосов
/ 10 июля 2020

Я разместил свой SQL на Azure SQL. Из своего AKS я обнаружил, что каждый из модулей не может подключиться к Azure SQL. Подключение к БД:

Источник данных = tcp: dbname.database. windows. net, 1433; Исходный каталог = dbname; User Id = {account}; Password = {password}

В Azure Портале> Я включил это ниже введите описание изображения здесь

Я дважды проверил строку подключения и могу подключиться с моей локальной машины, но внутри модуля kubenetes я пытаюсь выполнить te lnet на сервере, на который он отвечает

Соединение закрыто внешним хостом.

Могу я узнать, что здесь не так?

Ответы [ 2 ]

2 голосов
/ 10 июля 2020

Azure предоставляет два варианта для модулей, работающих на рабочих узлах AKS, для доступа к инстансу MySQL или PostgreSQL БД:

Создать правило брандмауэра на Azure Сервер БД с диапазоном IP-адресов, который охватывает все IP-адреса узлов кластера AKS (это может быть очень большой диапазон при использовании автоматического масштабирования узла).

Создайте VNet Правило на сервере БД Azure, который разрешает доступ с su bnet, в котором находятся узлы AKS. Это используется вместе с Microsoft. Sql VNet Конечная точка службы включена в кластере su bnet.

VNet Правила рекомендуются и предпочтительнее в этой ситуации по нескольким причинам. Узлы часто конфигурируются с динамическими c IP-адресами, которые могут изменяться при перезапуске узла, что приводит к нарушению правил брандмауэра, которые ссылаются на указанные c IP-адреса. Узлы могут быть добавлены в кластер, что потребует обновления правила брандмауэра для добавления дополнительных IP-адресов. VNet Правила позволяют избежать этих проблем, предоставляя доступ ко всему su bnet узлов AKS.

Действия вручную

Настройка безопасной сетевой среды для AKS и Azure DB требует следующее:

  1. Настройка кластера AKS

ResourceGroup: логическая группировка ресурсов, необходимых для всех ресурсов.

VNet: создает виртуальную сеть для узлов кластера AKS.

Subnet имеет диапазон частных IP-адресов для узлов кластера AKS. Создайте кластер AKS, используя указанные выше ресурсы.

Настроить управляемый доступ к службам

VNet Service Endpoint: обновить кластер su bnet выше, добавив конечную точку службы для Microsoft.Sql, чтобы обеспечить подключение для нового ресурса службы Azure БД.

Предоставление управляемых услуг с частными IP-адресами в сети кластера

Управление предоставлением Azure Экземпляры сервисов БД: PostgreSQL, MySQL. VNet Rule для каждого экземпляра управляемой службы, чтобы разрешить трафик c со всех узлов кластера su bnet на заданный Azure экземпляр службы БД (PostgreSQL, MySQL).

0 голосов
/ 12 июля 2020

Я обнаружил проблему, в основном проблема заключается в том, что AKS получает неправильную конфигурацию. Для идентификации он не читает правильные настройки приложения. json, который должен указывать на /secrets/*.json

AddEntityFrameworkStores ()

Я меняю код, чтобы получить информацию из правильного секрета, приложения теперь работают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...