如何解决在minikube中具有多个节点js服务器的前端到后端发出请求
我是kubernetes(minikube)的新手。我有一个带有frotnend(vue cli)和backend(python,node js)的应用程序。在前端,我正在使用Nginx提供vue构建版本。我的nginx配置是这样的。
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
location / {
root /frontend;
index index.html;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
我的vue.config.js中的我具有重定向到后端的配置,该后端具有4个节点js服务器侦听端口3001、3002、3003、3004。 我的vue.config.js文件
module.exports = {
publicPath: "/",devServer: {
proxy: {
"^/api/server/v1": {
target: "http://localhost:3000",logLevel: "debug",changeOrigin: true,pathRewrite: { "^/api/server/v1": "/api/server" },},"^/mongo-api": {
target: "http://localhost:5001",pathRewrite: {
"^/mongo-api": "","^/mongo-stream": {
target: "http://localhost:3004",pathRewrite: {
"^/mongo-stream": "","^/rest-api": {
target: "http://localhost:5002",pathRewrite: {
"^/rest-api": "","^/api": {
target: "https://api.binance.com",}
现在我的问题是我该如何从前端向后端发出请求。我已经为此配置了部署和服务,并且它在后端Pod上使用Clusterip,在前端服务上使用nodeip。 如果使用docer-compose.yaml运行,我将使用localhost进行所有通信。 我的backend-server-service.yaml就是这样
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert --build=local -v
kompose.service.type: clusterip
kompose.version: 1.21.0 (992df58d8)
creationTimestamp: null
labels:
io.kompose.service: backend-server
name: backend-server
spec:
ports:
- name: "3000"
port: 3000
targetPort: 3000
- name: "3001"
port: 3001
targetPort: 3001
- name: "3002"
port: 3002
targetPort: 3002
selector:
io.kompose.service: backend-server
type: ClusterIP
status:
loadBalancer: {}
我正在使用Kompose命令生成部署和服务。现在如何配置nginx,例如当我向localht:3000或localhost:3001发出请求时,它将重定向到pod内部的容器,该容器位于容器内部集群
解决方法
如果前端和后端都在同一个命名空间中运行,则应简单到将void search() {
if (permutation.size() == n) /// DEAD END
{
// process permutation
}
else {
for (int i = 0; i < n; i++) {
if (chosen[i]) continue; /// you have already taken this in your current path,so ignore it now
chosen[i] = true; /// take it,as you haven't already
permutation.push_back(i);
search(); // go to the next step after taking this item
chosen[i] = false; // you have done all you could do with this,now get rid of it
permutation.pop_back();
}
}
}
替换为http://localhost:3000
,其中http://backend-server:3000
是后端服务器的名称{ {1}}。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。