没有LB的Istio Ingressgateway

时间:2019-04-24 06:59:37

标签: kubernetes istio

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

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

预先感谢您的反馈。 答:

2 个答案:

答案 0 :(得分:3)

您可以将外部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。

答案 1 :(得分:0)

据我所知,Istio Ingressgateway无法使用hostNetwork。