如何配置 consul 从 Ingress 网关访问网页

如何配置 consul 从 Ingress 网关访问网页

我正在尝试为 AKS 中部署的 consul 配置入口网关。

根据他们的文档,我已经为其创建了一个示例部署和入口网关。

yaml 文件:github

kubectl apply -f static-app/

我将静态应用服务从 CluserIP 更改为 LoadBalancer,并且可以使用http://<LB_IP>

但是,使用入口网关,我只能通过添加以下标头来访问:

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

如果我尝试不使用标题,则无法获取页面。

关于如何使其在没有标题的情况下工作的任何建议,以便我可以在我的主应用程序中使用它。

一旦部署完成,我就可以在 consul 窗口中看到并使用以下代码获取入口网关的 IP 地址:

答案1

您需要修改IngressGateway资源。添加主办方数组与通配符说明符 ( *),然后应用更改。

$ 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"

相关内容