Reputation: 576
I have create an internal load balancer for my Istio Ingress controller as shown below
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
namespace: istio-system
name: istio-control-plane
spec:
profile: default #or demo
components:
ingressGateways:
- name: istio-internal-ingressgateway
enabled: true
k8s:
serviceAnnotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
due this the default external loadbalancer got removed.
Does it mean that Istio support only one Loadbalancer? Can't I have 2 or more loadbalancer, may be one per Istio Gateway?
Upvotes: 1
Views: 842
Reputation: 8840
Does it mean that Istio support only one Loadbalancer? Can't I have 2 or more loadbalancer, may be one per Istio Gateway?
No, istio support multiple gateways, you changed wrong component.
Gateways are a special type of component, since multiple ingress and egress gateways can be defined. In the IstioOperator API, gateways are defined as a list type.
Take a look at this documentation.
There is an example.
A new user gateway can be created by adding a new list entry:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
components:
ingressGateways:
- name: istio-ingressgateway
enabled: true
- namespace: user-ingressgateway-ns
name: ilb-gateway
enabled: true
k8s:
resources:
requests:
cpu: 200m
serviceAnnotations:
cloud.google.com/load-balancer-type: "internal"
service:
ports:
- port: 8060
targetPort: 8060
name: tcp-citadel-grpc-tls
- port: 5353
name: tcp-dns
Additional resources:
Upvotes: 1