разработка ASP. NET Core 3.0 приложения с централизованной MySQL базой данных.
Я использую строку подключения, которая выглядит следующим образом:
Server=mysql;Database=db-name;Uid=User;Pwd=Pass;SslMode=Preferred;persistsecurityinfo=false;
"mysql" - это внутренняя запись DNS, которая указывает на центральный сервер MySQL. В Visual Studio все работает нормально.
Теперь я хочу развернуть его в kubernetes.
Я уже сделал это с MS SQL успешно. Я создал конечную точку (ep) в kubernetes, указывая на правильный IP:
Name: mysql
Namespace: my_namespace
Labels: <none>
...
Subsets:
Addresses: 192.168.6.200
NotReadyAddresses: <none>
Ports:
Name Port Protocol
---- ---- --------
mysql 3306 TCP
Events: <none>
И создал соответствующий сервис Kubernetes:
Name: mysql
Namespace: my_namespace
Labels: <none>
...
Selector: <none>
Type: ClusterIP
IP: 10.104.84.99
Port: mysql 3306/TCP
TargetPort: 3306/TCP
Endpoints: 192.168.6.200:3306
Session Affinity: None
Events: <none>
Все это похоже на то, что я делал с MS SQL.
И я могу подтвердить работоспособность сети:
root@kubernetes-server:/application# kv exec application-7c85b5d9d8-9vxhb -- curl mysql:3306
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0J
100 115 0 115 0 0 25 0 --:--:-- 0:00:04 --:--:-- 25#08S01Got packets out of order
"Получил пакеты из строя" - это определенно ответ от сервера MySQL. Я также мог подтвердить это через Wireshark.
Но приложение не запустится. Я получаю сообщение об ошибке: "Unable to connect to any of the specified MySQL hosts."
Я что-то не так сделал?
Привет, xola