从 minikube 集群内部连接到本地数据库 [英] Connect to local database from inside minikube cluster

查看:59
本文介绍了从 minikube 集群内部连接到本地数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从 minikube pod 内部访问 localhost 上的 docker 容器内托管的 MySQL 数据库,但收效甚微.我尝试了 Minikube 将 MySQL 作为服务在 localhost 上运行 但没有效果.我已经根据我们在 AWS 上使用的服务为我的解决方案建模,但它似乎不适用于 minikube.我的服务如下

I'm trying to access a MySQL database hosted inside a docker container on localhost from inside a minikube pod with little success. I tried the solution described Minikube expose MySQL running on localhost as service but to no effect. I have modelled my solution on the service we use on AWS but it does not appear to work with minikube. My service reads as follows

apiVersion: v1

kind: Service

metadata: 

  name: mysql-db-svc

  namespace: external

spec: 
  type: ExternalName
  ExternalName: 172.17.0.2

...我尝试在端口 3306 上使用mysql-db-svc"从 pod 内部连接到我的数据库,但无济于事.如果我尝试从 pod 内部 CURL 地址mysql-db-svc",它无法解析主机名.

...where I try to connect to my database from inside a pod using "mysql-db-svc" on port 3306 but to no avail. If I try and CURL the address "mysql-db-svc" from inside a pod it cannot resolve the host name.

谁能给一个沮丧的新手建议?

Can anybody please advise a frustrated novice?

推荐答案

我将 ubuntu 与 Minikube 一起使用,我的数据库在 minikube 之外的 docker 容器中运行,可以从 localhost @ 172.17.0.2 访问.我的外部 mysql 容器的 Kubernetes 服务内容如下:

I'm using ubuntu with Minikube and my database runs outside of minikube inside a docker container and can be accessed from localhost @ 172.17.0.2. My Kubernetes service for my external mysql container reads as follows:

kind: Service
apiVersion: v1
metadata:
  name: mysql-db-svc
  namespace: external
spec: 
  type: ExternalName
  externalName: 10.0.2.2

然后在我的 .env 项目中,我的 DB_HOST 被定义为

Then inside my .env for a project my DB_HOST is defined as

mysql-db-svc.external.svc

...服务名称mysql-db-svc"后跟其命名空间external"和svc"

... the name of the service "mysql-db-svc" followed by its namespace "external" with "svc"

希望这是有道理的.

这篇关于从 minikube 集群内部连接到本地数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆