我正在尝试从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/