sql-server - Kubernetes中的dotnet核心Pod连接到本地SQL Server

标签 sql-server kubernetes .net-core minikube

我在Kubernetes(minikube)中有一个dotnet核心Pod,需要访问本地SQL Server(测试服务器)。
它在容器中工作,但当我将其放入 pods 中时。它无法在我的机器上运行sql server

但是我可以从Pod ping我的SQL Server

这是来自日志的错误

 An error occurred using the connection to database
> 'ArcadiaAuthenServiceDB' on server '192.168.2.68'.
> System.Data.SqlClient.SqlException (0x80131904): A network-related or
> instance-specific error occurred while establishing a connection to
> SQL Server. The server was not found or was not accessible. Verify
> that the instance name is correct and that SQL Server is configured to
> allow remote connections. (provider: TCP Provider, error: 40 - Could
> not open a connection to SQL Server)  

ping
root@authenservice-dpm-57455f59cf-7rqvz:/app# ping 192.168.2.68
PING 192.168.2.68 (192.168.2.68) 56(84) bytes of data.
64 bytes from 192.168.2.68: icmp_seq=1 ttl=127 time=0.449 ms
64 bytes from 192.168.2.68: icmp_seq=2 ttl=127 time=0.361 ms
64 bytes from 192.168.2.68: icmp_seq=3 ttl=127 time=0.323 ms
64 bytes from 192.168.2.68: icmp_seq=4 ttl=127 time=0.342 ms
^C
--- 192.168.2.68 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3064ms
rtt min/avg/max/mdev = 0.323/0.368/0.449/0.053 ms
root@authenservice-dpm-57455f59cf-7rqvz:/app# 

我在容器中的连接字符串
"DefaultConnection": "Server=mssql-s; Database=ArcadiaAuthenServiceDB; MultipleActiveResultSets=true;User Id=pbts;Password=pbts"

我尝试在Kubernetes中创建服务端点,但是没有运气。

谢谢。

编辑
这里的Service.yml文件
apiVersion: v1  
     kind: Service  
     metadata: 
         name: mssql-s 
         namespace: default  spec: 
         ports: 
         - port: 1433 
     ---  
     apiVersion: v1  
     kind: Endpoints  
     metadata: 
         name: mssql-s 
         namespace: default  subsets: 
        - addresses: 
        - ip: 192.168.2.68 
         ports: 
         - port: 1433 
     –--

编辑
我检查SQL Server是否也侦听1433
PS C:\Windows\system32> netstat -aon | findstr 1433   
TCP   0.0.0.0:1433           0.0.0.0:0              LISTENING       5028   
TCP   [::]:1433              [::]:0                 LISTENING       5028

有什么我可以解决的问题吗?

最佳答案

多谢您的回覆。
今天我找到了解决方案。它与k8无关,而与防火墙设置有关。
我添加了入站规则以允许端口1433。而且

关于sql-server - Kubernetes中的dotnet核心Pod连接到本地SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52553139/

相关文章:

c++ - Microsoft 如何保护例如 Sql Server 二进制文件免受逆向工程?

kubernetes - 除非只有一个节点,如何创建策略以在除主节点之外的每个节点上运行容器?

python - 是什么限制了 Kubernetes 服务的连接数量?

c# - dotnet run --project <PATH> 不将项目路径作为工作目录

c# - Microsoft.Extensions.Configuration 键中包含冒号的绑定(bind)字典

sql-server - 复杂的 TSQL 合并

sql-server - 仅当最近时才从暂存插入到最终

Kubernetes 公开应用程序 - AWX Operator

.net-core - 是否有任何理由使用 SaveChangesInterceptor 而不是覆盖 OnBeforeSaveChanges 和 OnAfterSaveChanges?

sql - SQL Server 中的 AVG