我想在用于开发目的的私有(private)VM上托管的单个节点K8s群集(污染节点--all)上设置Istio入口网关。由于我没有负载均衡器,因此istio-ingressgateway外部IP始终处于“挂起”模式(正常)。在此配置中,我需要使用例如端口31380/31390而不是80/443。

绕过此行为的最佳实践是什么?我可以修补istio-ingressgateway的外部IP吗?使用其他类型(NodePort)初始化入口网关?使用本地LB或其他Ingress Controller 重定向流量?

预先感谢您的反馈。
一种。

最佳答案

您可以将外部IP添加到您的服务定义中,例如将节点IP地址添加为externalIP。然后,当您点击node1_IP:443-它会将您转发到IngressGateway。

像这样:

kind: Service
apiVersion: v1
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
  - name: http
    protocol: TCP
    port: 80
    targetPort: 9376
  externalIPs:
  - node1_IP
  - node2_IP
  - node3_IP

在这里阅读更多:https://kubernetes.io/docs/concepts/services-networking/service/#external-ips

或者,您可以定义IngressGateway pod来使用hostNetwork。在这种情况下,它也可以使用80和443端口,但只能使用运行它的节点的IP。

关于kubernetes - 没有LB的Istio Ingressgateway,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55824084/

10-11 09:31