我有一个在Mac OSX上运行的minikube集群和一个连接到Redis和Mongo DB的简单Spring Boot REST api,这些API已在本地安装并运行。
我不希望在Docker容器中运行Redis / MongoDb。
我可能会在云中远程运行它们,因此我可能只是连接到外部IP地址。
我不知道应该使用什么IP地址连接到本地计算机。
我使用VM hyperkit启动Minikube。
编辑: 我也尝试开始使用virtualbox:
minikube start --vm-driver=virtualbox
在我的spring boot应用程序中,我已经配置:
spring.data.mongodb.host = 10.0.2.2
spring.redis.host = 10.0.2.2
但仍然出现连接错误:
当我在主机上本地运行应用程序时,此方法有效。
为了完整起见,这是我的yaml文件:
---
apiVersion: v1
kind: Service
metadata:
name: posts-api
labels:
app: posts-api
env: dev
spec:
type: NodePort
selector:
app: posts-api
ports:
- protocol: TCP
port: 8083
name: http
---
apiVersion: v1
kind: ReplicationController
metadata:
name: posts-api
spec:
replicas: 1
template:
metadata:
labels:
app: posts-api
spec:
containers:
- name: posts-api
image: kimgysen/posts-api:latest
ports:
- containerPort: 8083
livenessProbe:
httpGet:
path: /health
port: 8083
initialDelaySeconds: 120
timeoutSeconds: 3
答案 0 :(得分:2)
我会给你我给同样问题的人的答案(不同技术):
Kubernetes pod unable to connect to rabbit mq instance running locally
相应地替换IP和端口号以及服务和端点名称。