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

标签 kubernetes minikube

我正在尝试从minikube pod内访问托管在localhost的docker容器内的MySQL数据库,但收效甚微。我尝试了描述Minikube expose MySQL running on localhost as service的解决方案,但没有任何效果。我已经在我们在AWS上使用的服务上对我的解决方案进行了建模,但是它似乎不适用于minikube。我的服务内容如下

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”,则它无法解析主机名。

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

最佳答案

我在Minikube上使用ubuntu,我的数据库在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

然后在我的项目的.env中,将我的DB_HOST定义为
mysql-db-svc.external.svc

...服务名称“mysql-db-svc”,后跟 namespace “external”和“svc”

希望这是有道理的。

关于kubernetes - 从minikube集群内部连接到本地数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50952240/

相关文章:

kubernetes - 识别Istio内部网格源流量的最优雅方法是哪种?

python - 如何在vue js中获取kubernetes/minikube env变量

kubernetes - minikube --kubernetes-version URI失败。我可以使用自定义的localkube二进制文件吗?

docker - (Kubernetes + Minikube) 无法从本地注册表获取 docker 镜像

kubernetes - 如何以编程方式获取 GKE 支持的 Kubernetes 版本列表?

kubernetes - Kubernetes-初始化数据库部署的持久卷的最佳方法

mysql - 无法在具有外部卷的kubernetes中运行mysql pod

kubernetes - 如何将配置标志传递给 minikube 中的 nginx-ingress?

kubernetes - minikube 故障排除

jenkins - 用 Jenkins 代替 GIT 使用 SVN 私有(private)存储库