簡體   English   中英

使用Kubernetes Ingress在GCP中使用IP(無主機名/域名)進行路徑路由

[英]Use Kubernetes Ingress to have path routing with IP (no host/domainname) in GCP

我無權創建DNS /域名,因此無法在入口的YAML文件中填寫host字段。

我只是想像這樣使用IP:

10.10.10.10/foo

10.10.10.10/bar

這是我的入口的YAML文件:

 apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
        name: foobar-ingress
        annotations:
            kubernetes.io/ingress.global-static-ip-name: foobar-trigger-static-ip
    spec:
        rules:
             http:
                  paths:
                      - path: /foo/*
                        backend:
                            serviceName: foo
                            servicePort: 80
                      - path: /bar/*
                        backend:
                            serviceName: bar
                            servicePort: 80

這是無效的,因為我嘗試使用Helm推動它。 我無法在https://kubernetes.io/docs/concepts/services-networking/ingress/中找到與此有關的任何信息,因為所有YAML示例都使用host 這有可能嗎? 還是必須為此托管?

編輯 :我正在使用GCP LoadBalancer

您可以在批注中指定nginx類,以重寫傳入的請求,如下所示

apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
        name: foobar-ingress
        annotations:
          kubernetes.io/ingress.global-static-ip-name: foobar-trigger-static-ip
          kubernetes.io/ingress.class: nginx
          nginx.ingress.kubernetes.io/rewrite-target: /$1
    spec:
        rules:
             http:
                  paths:
                      - path: /foo/?(.*)
                        backend:
                            serviceName: foo
                            servicePort: 80
                      - path: /bar/?(.*)
                        backend:
                            serviceName: bar
                            servicePort: 80

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM