【问题标题】:Ionic web app pages not opening with Ingress ControllerIonic Web 应用程序页面未使用 Ingress Controller 打开
【发布时间】:2020-08-12 20:58:13
【问题描述】:

我在 Google K8s 集群上运行了 Ionic 5.0 Web 应用程序。我正在使用 Nginx 入口控制器。为其配置了以下入口资源以使其可访问:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: gateway-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/use-regex: true
spec:
  rules:
    - http:
        paths:
          - path: /webapp/(/|$)(.*)
            backend:
              serviceName: webapp-frontend
              servicePort: 80

我可以使用以下网址访问应用程序:

我没有得到这里的配置有什么问题。请帮忙。

####EDIT####

我的 Web 应用程序部署在 pod 上并具有以下 URL,并且通过服务 'webapp-frontend' 公开:

我想要的是当用户点击浏览器上的 url 时应该发生以下情况:

【问题讨论】:

  • 你运行的是哪个版本的k8s?
  • @OhHiMark 它的 1.16.8-gke.15。

标签: angular ionic-framework kubernetes kubernetes-ingress nginx-ingress


【解决方案1】:

有些东西你应该看看:

  • extensions/v1beta1 API 版本中的 NetworkPolicy 不再从 Kubernetes 版本 1.16 提供。你应该改用networking.k8s.io/v1beta1

  • 您正在使用rewrite annotation 并根据您的配置应该:

http://1.2.3.4/webapp重写为http://1.2.3.4/

http://1.2.3.4/webapp/改写为http://1.2.3.4/

http://1.2.3.4/webapp/login重写为http://1.2.3.4/login

您需要确保您的 Ingress 访问的是正确的 URL。配置本身看起来不错。错误可能在您想要实现的重写背后的逻辑中。如果需要,请参阅linked documentation。如果它仍然无法按预期工作,请编辑您的问题并提供更多详细信息(应该在哪里重写等)。

这应该从 Kuberentes 方面解决您的问题。如果有帮助,请告诉我。

【讨论】:

  • 有些我错过了你的回复,今天看到了,我已经编辑了我关于应该发生什么的问题。
猜你喜欢
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-14
  • 1970-01-01
  • 2013-03-09
  • 2019-07-21
相关资源
最近更新 更多