小编mat*_*t_j的帖子

MySQL 与 kubernetes 集群集成时出现 DNS 错误

发生了什么:
我尝试使用externalName规范创建一个服务端点,以允许在 Pod 内运行的微服务访问本地主机上的本地 MySQL 服务器。

这是 yaml 文件的相关部分:

apiVersion: v1 
kind: Service 
metadata: 
  name: mysql 
  namespace: default 
spec: 
  type: ExternalName 
  externalName: host.minikube.internal
Run Code Online (Sandbox Code Playgroud)

您期望发生的情况:
我希望能够连接,但我的 SpringBoot 容器显示 mysql 连接不起作用。我已经测试了微服务,它可以在 Docker 中使用相同的 MySQL 数据库运行。

如何重现它(尽可能少且精确):
正常安装 minikube 和 kubernetes,使用上面给出的 mysql 服务运行https://k8s.io/examples/admin/dns/dnsutils.yamldnsutils中的映像。

我们还需要知道什么吗?:
我已经测试了此处详细的故障排除(https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/),但它没有解决问题。运行时:

kubectl exec -i -t dnsutils -- nslookup mysql.default
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

Server: 10.96.0.10
Address: 10.96.0.10#53

mysql.default.svc.cluster.local canonical name = host.minikube.internal.
** server can't find host.minikube.internal: SERVFAIL

command terminated with exit code 1
Run Code Online (Sandbox Code Playgroud)

我已经验证它 …

kubernetes minikube coredns

5
推荐指数
1
解决办法
1287
查看次数

标签 统计

coredns ×1

kubernetes ×1

minikube ×1