У меня есть приложение с двумя развертываниями k8s, которое называется onboarding-server
, а frontend
onboarding-server - это сервер узлов, а frontend - это реагирующее приложение, которое создается и разворачивается с использованием Nginx.
Вот фрагмент, который возвращается, когда я запускаю kubectl get all
NAME READY STATUS RESTARTS AGE
pod/frontend-deployment-578f898ffb-cc7gc 1/1 Running 0 15s
pod/node-deployment-7f4754fdf5-fnmls 1/1 Running 0 7d10h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/frontend-service LoadBalancer 10.100.200.64 10.167.198.105 80:31167/TCP 13d
service/node-service LoadBalancer 10.100.200.71 10.167.199.136 3200:32276/TCP 13d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/frontend-deployment 1/1 1 1 5d12h
deployment.apps/node-deployment 1/1 1 1 7d10h
NAME DESIRED CURRENT READY AGE
replicaset.apps/frontend-deployment-578f898ffb 1 1 1 17s
replicaset.apps/node-deployment-7f4754fdf5 1 1 1 7d10h
И моя конфигурация nginx.conf
выглядит примерно так
upstream node-service{
server node-service;
}
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location = /api {
proxy_pass http://node-service;
}
error_page 404 /index.html;
location = / {
root /usr/share/nginx/html;
internal;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Теперь я пытаюсь чтобы поговорить с моей серверной службой из внешнего интерфейса, используя этот URL
/api/onboarding/v1/user/login
Я понимаю, что Nginx заключается в том, что когда я запрашиваю /api
, он должен перенаправить меня на http://node-service/api/onboarding/v1/user/login
и следовательно, должен вернуть соответствующий ответ. Но я получаю
Fetch failed loading: POST
http://192.168.5.21/api/onboarding/v1/user/login
Как я могу подключиться к службе узла из Nginx?
РЕДАКТИРОВАТЬ 1. Одна вещь, которую я забыл упомянуть, это то, что когда я go внутри контейнера с помощью команды exec
Я могу получить соответствующий ответ, используя
curl http://192.168.5.21/api/onboarding/v1/user/login