MySQL 来自 Docker/Kubernetes 的连接与连接字符串
MySQL Connection from Docker/Kubernetes with Connection String
开发 ASP.NET 核心 3.0 应用程序,具有集中式 MySQL 数据库。
我正在使用连接字符串,如下所示:
Server=mysql;Database=db-name;Uid=User;Pwd=Pass;SslMode=Preferred;persistsecurityinfo=false;
"mysql" 是一个内部 DNS 记录,它指向中央 MySQL 服务器。
在 Visual Studio 中,它工作正常。
现在想部署到kubernetes
我已经用 MSSQL 成功地做到了。我在 kubernetes 中创建了一个端点(ep),指向正确的 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>
所有这些看起来都像我用 MSSQL 做的。
而且我可以确认工作网络:
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
"Got packets out of order" 肯定是来自 MySQL 服务器的响应。
我也可以通过 Wireshark 确认这一点。
但是申请不会运行。我收到错误:"Unable to connect to any of the specified MySQL hosts."
我是不是做错了什么?
你好,xola
知道了。
这不是连接字符串。
不幸的是,我没有看到该错误消息之前的错误。因为我们加密了连接字符串,所以我们有一个解密密钥。未正确设置解密密钥,因此应用程序希望使用加密的而不是解密的连接字符串来建立连接。
不过还是谢谢你!
开发 ASP.NET 核心 3.0 应用程序,具有集中式 MySQL 数据库。
我正在使用连接字符串,如下所示:
Server=mysql;Database=db-name;Uid=User;Pwd=Pass;SslMode=Preferred;persistsecurityinfo=false;
"mysql" 是一个内部 DNS 记录,它指向中央 MySQL 服务器。 在 Visual Studio 中,它工作正常。
现在想部署到kubernetes
我已经用 MSSQL 成功地做到了。我在 kubernetes 中创建了一个端点(ep),指向正确的 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>
所有这些看起来都像我用 MSSQL 做的。
而且我可以确认工作网络:
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
"Got packets out of order" 肯定是来自 MySQL 服务器的响应。 我也可以通过 Wireshark 确认这一点。
但是申请不会运行。我收到错误:"Unable to connect to any of the specified MySQL hosts."
我是不是做错了什么?
你好,xola
知道了。 这不是连接字符串。 不幸的是,我没有看到该错误消息之前的错误。因为我们加密了连接字符串,所以我们有一个解密密钥。未正确设置解密密钥,因此应用程序希望使用加密的而不是解密的连接字符串来建立连接。
不过还是谢谢你!