У меня есть кластер minikube, работающий на Mac OSX, и простой Spring Boot REST api, который подключается к Redis и Mongo DB, которые я установил и запустил локально.
Я не хочу запускать Redis / MongoDb в контейнере Docker. Я, вероятно, буду запускать их удаленно в облаке, поэтому я, вероятно, просто подключусь к внешнему IP-адресу.
Я не понимаю, какой IP-адрес мне следует использовать для подключения к моей машине localhost. Я запускаю свой Minikube с гиперкитом виртуальной машины.
Редактировать: Еще попробовал начать пользоваться виртуальным боксом:
minikube start --vm-driver=virtualbox
В моем весеннем загрузочном приложении я настроил:
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




Я дам вам ответ, который я дал кому-то, у кого такая же проблема (другая технология):
Модуль Kubernetes не может подключиться к экземпляру Rabbit mq, работающему локально
Замените IP-адрес и номер порта, а также имена службы и конечных точек.
Используйте название сервиса - kubernetes.io/docs/concepts/services-networking/dns-pod-serv лед
Обновил ваш ответ, но не могу его подтвердить, так как я перешел на Docker для Mac, в котором было встроенное решение. Это не должно быть сложно.
Как получить IP-адрес службы для добавления в application.properties?