Ошибка при попытке подключить веб-интерфейс React к nodejs express api-серверу в кластер kubernetes.
Можно перейти в браузере на http:localhost:3000
и веб-сайт в порядке.
Но не могу перейти к http:localhost:3008
, как ожидалось (не должен быть выставлен)
Моя цель - передать REACT_APP_API_URL переменную окружения во внешний интерфейс, чтобы установить ax ios baseURL
и сможет установить sh связь между front и его сервером api.
deploy-front.yml
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: gbpd-front
spec:
selector:
matchLabels:
app: gbpd-api
tier: frontend
track: stable
replicas: 2
template:
metadata:
labels:
app: gbpd-api
tier: frontend
track: stable
spec:
containers:
- name: react
image: binomio/gbpd-front:k8s-3
ports:
- containerPort: 3000
resources:
limits:
memory: "150Mi"
requests:
memory: "100Mi"
imagePullPolicy: Always
service-front.yaml
apiVersion: v1
kind: Service
metadata:
name: gbpd-front
spec:
selector:
app: gbpd-api
tier: frontend
ports:
- protocol: "TCP"
port: 3000
targetPort: 3000
type: LoadBalancer
Deploy-back.yaml
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: gbpd-api
spec:
selector:
matchLabels:
app: gbpd-api
tier: backend
track: stable
replicas: 3 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: gbpd-api
tier: backend
track: stable
spec:
containers:
- name: gbpd-api
image: binomio/gbpd-back:dev
ports:
- name: http
containerPort: 3008
service-back.yaml
apiVersion: v1
kind: Service
metadata:
name: gbpd-api
spec:
selector:
app: gbpd-api
tier: backend
ports:
- protocol: "TCP"
port: 3008
targetPort: http
Я пробовал много комбинаций, также пытался добавить «LoadBalancer» в backservice, но ничего. ..
Я могу подключить perfecto к localhost: 3000 и использовать внешний интерфейс, но внешний интерфейс не может подключиться к бэкэнд-сервису.
Вопрос 1 : Что такое ip / name использовать для того, чтобы передать REACT_APP_API_URL на фронтэн правильно? Вопрос 2 : почему curl localhost: 3008 не отвечает?
Через 2 дня пробуя почти все в официальных документах k8s ... не могу понять, что здесь происходит, поэтому любая помощь поможет очень цениться.
kubectl описать sv c gbpd-api Ответ:
kubectl describe svc gbpd-api
Name: gbpd-api
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"gbpd-api","namespace":"default"},"spec":{"ports":[{"port":3008,"p...
Selector: app=gbpd-api,tier=backend
Type: LoadBalancer
IP: 10.107.145.227
LoadBalancer Ingress: localhost
Port: <unset> 3008/TCP
TargetPort: http/TCP
NodePort: <unset> 31464/TCP
Endpoints: 10.1.1.48:3008,10.1.1.49:3008,10.1.1.50:3008
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>