Kubernetes

如何配置 consul 從 Ingress 網關訪問網頁

  • July 13, 2021

我正在嘗試為部署在 AKS 中的領事配置入口網關。

根據他們的文件,我創建了一個範例部署和入口網關。

yaml 文件:github

kubectl apply -f static-app/

我將靜態應用服務從 CluserIP 更改為 LoadBalancer 並且可以使用http://<LB_IP>

但是,使用入口網關,我只能通過添加以下標頭來訪問:

curl -H "Host: static-server.ingress.consul" "http://<IG_IP>:8080"

如果我嘗試不使用標題,則不會獲取頁面。

關於如何使其在沒有標題的情況下工作的任何建議,以便我可以將其用於我的主要應用程序。

部署後,我可以在 consul 視窗中看到並使用 ingress-gateway 獲取 IP 地址

您需要修改IngressGateway資源。使用萬用字元說明符 ( )添加Hosts數組,*然後應用更改。

$ cat ingress-gateway.yaml
apiVersion: consul.hashicorp.com/v1alpha1
kind: IngressGateway
metadata:
 name: ingress-gateway
spec:
 listeners:
   - port: 8080
     protocol: http
     services:
       - name: static-server
         hosts:
         - "*"
     
$ kubectl apply -f ingress-gateway.yaml
ingressgateway.consul.hashicorp.com/ingress-gateway configured 

我們可以檢查它是否按預期工作:

$ curl http://<IG_IP>:8080
"hello world"

引用自:https://serverfault.com/questions/1069357