我想在私有虚拟机上托管的单个节点K8s集群(污点节点--all)上设置一个Istio ingressgateway,用于开发目的。由于我没有负载均衡器,因此istio-ingressgateway外部IP始终处于“待定”模式(这是正常的)。在这种配置中,我需要使用例如端口31380/31390而不是80/443。
绕过这种行为的最佳做法是什么?我可以修补istio-ingressgateway的外部IP吗?使用不同类型(NodePort)初始化ingressgateway?使用本地LB或其他Ingress控制器重定向流量?
提前感谢您的反馈。一个。
您可以将externalIP添加到服务定义中,例如添加节点IP地址作为externalIPs。然后一旦你点击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。