繁体   English   中英

如何通过重定向在谷歌云中设置 yaml 入口

[英]how to setup yaml ingress in google cloud with redirect

我正在使用入口和负载平衡器在 Google Cloud 中设置环境。

我知道如何设置主机和路径,但是当用户访问特定http://example.com/时我不知道如何http://example.com/en

笔记:

  • http => https

  • / => /en

更新

我添加了 app-root: /en (但它什么也没做)。

这是我目前的 yaml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: gce
    kubernetes.io/ingress.global-static-ip-name: our-frontend-static-ip
    networking.gke.io/managed-certificates: example-certificate
    appgw.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/app-root: /en
  name: example-ingress
  namespace: default
spec:
  rules:
  - host: anotherexample.com
    http:
      paths:
      - backend:
          serviceName: anotherexample-service
          servicePort: 80
  - host: example.com
    http:
      paths:
      - path: /nl
        backend:
          serviceName: example-nl-service
          servicePort: 80
      - path: /en
        backend:
          serviceName: example-en-service
          servicePort: 80

So, there are 2 hosts in my yaml and I want: when the url is correct for 1 of the hosts: example.com it must go to example.com/en (this is for Multilanguage purposes)

在从入口同步更改回来后,我们可以更改负载均衡器禁令中的设置。

Kubernetes 支持多个互不相同的 Ingress Controller。 例如,您正在尝试使用Ingress GCE ,并且还有一个流行的Nginx Ingress

您的用例中的主要问题是Ingress GCE不支持重写。 可以在此处找到有关此功能的持续功能请求。

为了能够使用重写,您需要部署 Nginx 入口 Controller 并在yaml中切换注释:

kubernetes.io/ingress.class: "gce"

至:

kubernetes.io/ingress.class: "nginx"

可以帮助您解决此问题的资源如下:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM