Проблема:
При работе с [Kubernetes] K8 над разработкой я сталкиваюсь с проблемой, когда мой Ingress / Nginx, по-видимому, не позволяет моей стороне клиента (React) извлекать данные из моего API (Flask / Python).
подробности:
Соединение между клиентом и API облегчается с помощью переменной среды, которую мы будем называть API_URL
ради этого поста. API_URL
используется для того, чтобы Клиент знал, какой API перенаправляет в GET и POST.
На Minikube с K8 в dev предоставленный IP Minikube вынуждает http s из того, что я понимаю (или, возможно, это ingress / nginx?). Значение переменной среды API_URL
равно value: api-cluster-ip-service
. Однако, когда я захожу на сайт разработчика, он показывает, что это значение присваивается http://localhost (не-https)
Это приводит к: заблокированной загрузке смешанного активного контента «http://localhost/server/stuff". В результате я ничего не могу извлечь из своего API.
Вопрос:
Есть ли рекомендуемый подход для этого? Возможно, способ отключить https на dev (я даже не знаю, возможно ли это)? Или может мне нужен сертификат для localhost? Я довольно новичок в Kubernetes, поэтому любая помощь очень ценится!
Ingress-server.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: client-cluster-ip-service
servicePort: 3000
- path: /api/
backend:
serviceName: server-cluster-ip-service
servicePort: 5000
Выходное пространство имен вывода
kubectl get ing --all-namespaces
default ingress-service * 10.0.2.15 80 4d21h