Minikube部署SQL Server 2022后,无法通过SSMS从主机连接
无法连接Minikube中部署的SQL Server 2022实例排查
在本地主机运行Minikube,通过YAML部署SQL Server 2022容器后,无法从主机通过SSMS连接到该实例,以下是相关配置信息及排查细节:
部署YAML配置
apiVersion: v1 kind: Secret metadata: name: mssql-secret namespace: new-kubernetes type: Opaque stringData: MSSQL_SA_PASSWORD: Qwerty123! --- apiVersion: v1 kind: Service metadata: name: mssql-service namespace: new-kubernetes spec: selector: app: mssql ports: - protocol: TCP port: 30001 targetPort: 1433 type: LoadBalancer --- apiVersion: v1 kind: PersistentVolume metadata: name: mssql-pv namespace: new-kubernetes spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce hostPath: path: "/mnt/data/mssql" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mssql-pvc namespace: new-kubernetes spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: mssql-deployment namespace: new-kubernetes spec: replicas: 1 selector: matchLabels: app: mssql template: metadata: labels: app: mssql spec: containers: - name: mssql image: mcr.microsoft.com/mssql/server:2022-latest # MSSQL Server 2022 ports: - containerPort: 1433 env: - name: ACCEPT_EULA value: "Y" - name: MSSQL_SA_PASSWORD valueFrom: secretKeyRef: name: mssql-secret key: MSSQL_SA_PASSWORD volumeMounts: - name: mssql-data mountPath: /var/opt/mssql volumes: - name: mssql-data persistentVolumeClaim: claimName: mssql-pvc
集群资源状态
执行kubectl get all -n new-kubernetes输出:
NAME READY STATUS RESTARTS AGE pod/mssql-deployment-5d8d4b4bc7-v7szb 1/1 Running 0 28s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/mssql-service LoadBalancer 10.108.132.45 127.0.0.1 30001:31453/TCP 28s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/mssql-deployment 1/1 1 1 28s NAME DESIRED CURRENT READY AGE replicaset.apps/mssql-deployment-5d8d4b4bc7 1 1 1 28s
Minikube Tunnel运行状态
W0903 20:18:09.098870 73348 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open C:\Users\XXXXXXX\.docker\contexts\meta\XXXXXXX\meta.json: The system cannot find the path specified. * Tunnel successfully started * NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ... * Starting tunnel for service mssql-service.
Pod事件详情
执行kubectl describe pod mssql-deployment-5d8d4b4bc7-v7szb -n new-kubernetes的事件部分:
.... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 4m8s default-scheduler Successfully assigned new-kubernetes/mssql-deployment-5d8d4b4bc7-v7szb to minikube Normal Pulled 4m8s kubelet Container image "mcr.microsoft.com/mssql/server:2022-latest" already present on machine Normal Created 4m8s kubelet Created container mssql Normal Started 4m8s kubelet Started container mssql
SSMS连接配置与报错
连接配置
Server name: localhost,30001 Authentication: SQL Server authentication Login: sa Password: Qwerty123! Encryption: Mandatory [V] Trust server certificate
报错信息
无法连接到localhost,30001。
其他信息:
在建立与SQL Server的连接时出现与网络相关的或特定于实例的错误。
找不到服务器或无法访问服务器。请验证实例名称是否正确,并且SQL Server已配置为允许远程连接。(provider: TCP provider, error: 0 - 远程计算机拒绝了网络连接。) (Microsoft SQL Server, Error: 1225)
排查建议
- 调整端口访问方式:注意Service的端口映射为
30001:31453/TCP,其中31453是NodePort,可直接尝试用localhost:31453连接;或执行minikube service mssql-service -n new-kubernetes获取官方推荐的访问地址。 - 验证容器内服务状态:进入容器检查SQL Server是否正常运行
若连接失败,查看容器日志定位服务启动问题:kubectl exec -it mssql-deployment-5d8d4b4bc7-v7szb -n new-kubernetes -- /bin/bash # 容器内执行连接测试 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P Qwerty123!kubectl logs mssql-deployment-5d8d4b4bc7-v7szb -n new-kubernetes - 修复Minikube Tunnel环境:Docker上下文警告可能影响Tunnel生效,尝试重启Minikube及Tunnel:
minikube stop && minikube delete && minikube start # 重新部署YAML后启动Tunnel minikube tunnel -n new-kubernetes - 检查主机防火墙:临时关闭主机防火墙,测试是否能连接;若恢复,需添加对应端口的TCP访问规则。
- 确认SQL Server远程配置:容器内验证远程连接配置是否开启
kubectl exec -it mssql-deployment-5d8d4b4bc7-v7szb -n new-kubernetes -- /bin/bash /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P Qwerty123! -Q "EXEC sp_configure 'remote access'; RECONFIGURE;"
内容的提问来源于stack exchange,提问作者Diner
相关产品推荐
相关产品推荐

