gpt4 book ai didi

routing - 具有 Istio Ingress 的 Kubernetes 未在标准 HTTP 端口 443/80 上运行

转载 作者:行者123 更新时间:2023-12-02 11:37:46 25 4
gpt4 key购买 nike

我正在尝试在 Kubernetes 上将 Istio 设置为入口 Controller 。问题是我的两个应用程序似乎可以从 Istio 入口 Controller 节点端口访问(例如,http://[host]:31380/application1http://[host]:31380/application2 ) 但无法从 443/80 访问。

我是 Kubernetes 和 Istio 的新手,所以我使用了 https://istio.io/docs/guides/bookinfo/指南作为引用。按照指南进行操作相当容易,我能够使用提到的节点端口访问 Bookinfo 应用程序。不过我无法从 443/80 访问它。我使用 helm chart 来安装 Istio。我在 Kubernetes 仪表板中的 Ingresses 下也看不到任何内容。

这是网关/虚拟服务 yaml 的示例:

apiVersion: networking.istio.io/v1alpha3kind: Gatewaymetadata:  name: myapp-gatewayspec:  selector:    istio: ingressgateway # use istio default controller  servers:  - port:      number: 80      name: http      protocol: HTTP    hosts:    - "*"---apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:  name: myapp-virtual-servicespec:  hosts:  - "*"  gateways:  - myapp-gateway  http:  - match:    - uri:        prefix: /myapp    route:    - destination:        host: myapp-app-service        port:          number: 7080  - match:    - uri:        prefix: /    route:    - destination:        host: kibana        port:          number: 5601

关于我必须做什么才能让它在 443 上收听有什么想法吗?我是否完全缺少一个组件?

最佳答案

如果路由到您的应用程序需要在 443/80 上运行,您的 Kubernetes 集群必须部署外部负载均衡器。如果不存在,流量将被路由到入口节点端口。

引用 - https://istio.io/docs/tasks/traffic-management/ingress/#determining-the-ingress-ip-and-ports (确定入口 IP 和端口):

“如果设置了 EXTERNAL-IP 值,则您的环境具有可用于入口网关的外部负载平衡器。如果 EXTERNAL-IP 值为(或永久),则您的环境不提供入口网关的外部负载均衡器。在这种情况下,您可以使用服务的节点端口访问网关。”

没有外部负载均衡器的裸机实例示例:

[admin@master1 ~]$ kubectl get svc -n istio-system | grep istio-ingressistio-ingress              LoadBalancer   10.114.107.196   <pending>     80:32400/TCP,443:31564/TCP                                            5distio-ingressgateway       LoadBalancer   10.99.1.148      <pending>     80:31380/TCP,443:31390/TCP,31400:31400/TCP                            5d

如果您要部署到 IBM Bluemix(可能是 AWS/Azure 等)等在线云提供商,您应该已经配置了一个。如果您的配置是裸机,您可能没有配置负载均衡器。

带有外部负载均衡器的 Bluemix 实例示例:

λ kubectl get svc -n istio-system | grep istio-ingressistio-ingress              LoadBalancer   172.21.26.25     123.45.67.195   80:32000/TCP,443:31694/TCP                                            6histio-ingressgateway       LoadBalancer   172.21.139.142   123.45.67.196   80:31380/TCP,443:31390/TCP,31400:31400/TCP                            6h

我还没有回去将负载均衡器部署到裸机,所以想听听是否有人这样做了。我简要地看了看 Metal,但没有花太多时间在上面。

关于routing - 具有 Istio Ingress 的 Kubernetes 未在标准 HTTP 端口 443/80 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51331902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com