从minikube集群内部连接到本地数据库

pri*_*ime 5 kubernetes minikube

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

apiVersion: v1

kind: Service

metadata: 

  name: mysql-db-svc

  namespace: external

spec: 
  type: ExternalName
  ExternalName: 172.17.0.2
Run Code Online (Sandbox Code Playgroud)

...我尝试使用端口3306上的“ mysql-db-svc”从pod内部连接到数据库,但无济于事。如果尝试从Pod内对地址“ mysql-db-svc”进行CURL处理,它将无法解析主机名。

有人可以建议沮丧的新手吗?

pri*_*ime 10

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

kind: Service
apiVersion: v1
metadata:
  name: mysql-db-svc
  namespace: external
spec: 
  type: ExternalName
  externalName: 10.0.2.2
Run Code Online (Sandbox Code Playgroud)

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

mysql-db-svc.external.svc
Run Code Online (Sandbox Code Playgroud)

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

希望这是有道理的。

  • @prime 这令人印象深刻,但是你是如何找出那里神奇的 externalName 的呢?10.0.2.2 从哪里来? (4认同)
  • 没关系,这解释了它:/sf/answers/2431259351/ (3认同)

归档时间:

查看次数:

5067 次

最近记录:

6 年,8 月 前