Minikube VM Hyperkit:Spring Boot:连接到本地计算机

时间:2018-12-18 22:25:14

标签: spring-boot kubernetes minikube

我有一个在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 

但仍然出现连接错误:

enter image description here

enter image description here

当我在主机上本地运行应用程序时,此方法有效。

为了完整起见,这是我的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

1 个答案:

答案 0 :(得分:2)

我会给你我给同样问题的人的答案(不同技术):

Kubernetes pod unable to connect to rabbit mq instance running locally

相应地替换IP和端口号以及服务和端点名称。