javascript - 下一个 js 无法使用 kubernetes 集群中的默认下一个 js 路由路由到子文件夹中的页面
问题描述
我正在关注微服务教程,我们使用 docker 和 kubernetes 来提供服务。其中一个服务是下一个客户端应用程序,在应用程序中我们使用默认的下一个路由规则,其中我们在 pages 文件夹中有页面,我们在页面文件夹中创建了一个名为 auth 的子文件夹,并添加了另一个页面 signup.js。像这样
我的客户端服务的 yaml 配置文件是这样的
apiVersion: apps/v1
kind: Deployment
metadata:
name: client-depl
spec:
replicas: 1
selector:
matchLabels:
app: client
template:
metadata:
labels:
app: client
spec:
containers:
- name: client
image: dtemb965/client
---
apiVersion: v1
kind: Service
metadata:
name: client-srv
spec:
selector:
app: client
ports:
- name: client
protocol: TCP
port: 3000
targetPort: 3000
入口配置文件是这样的:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: 'true'
spec:
rules:
- host: ticketing.dev
http:
paths:
- path: /api/users/?(.*)
backend:
serviceName: auth-srv
servicePort: 3000
- path: /?(.*)
backend:
serviceName: client-srv
servicePort: 3000
并且正在使用 skaffold 来管理在本地运行服务。skaffold 配置文件是这样的
apiVersion: skaffold/v2alpha3
kind: Config
deploy:
kubectl:
manifests:
- ./infra/k8s/*
build:
local:
push: false
artifacts:
- image: dtemb965/auth
context: auth
docker:
dockerfile: Dockerfile
sync:
manual:
- src: 'src/**/*.ts'
dest: .
- image: dtemb965/client
context: client
docker:
dockerfile: Dockerfile
sync:
manual:
- src: '**/*.js'
dest: .
当我在容器外运行应用程序时,即没有 docker 和 kubernetes,所有路由都工作得很好但是当我在 kubernetes 集群中运行它并尝试使用链接导航到子文件夹 auth 中的页面https://ticketing.dev/auth/signup
我得到一个 404 not found 页面。有什么问题?
注意:auth 文件夹之外的所有其他页面在集群内部或外部运行时都可以正常工作
解决方案
推荐阅读
- bitbucket - 仅 Haproxy 公共 jenkin webhook
- php - 将一列拆分为三列
- javascript - 类型不可分配给条件类型
- javascript - 左键单击列表元素并隐藏剩余的元素
- css - scss 渲染错误 [内部错误:未找到要读取的文件或无法读取:]
- gnu-parallel - 如何将输入文件中的子字符串作为要在 GNU 并行中执行的程序的参数?
- authentication - 我需要在没有中间件的情况下在 NestJS 中进行身份验证
- php - EC2 上带有管理员的 Bitnami - 如何增加 max_upload_size
- java - PreparedStatementCallback 动态查询参数
- node.js - 如何在 node.js 中链接页面