I have loaded Grafana as an add-on from the Istio docs, i put it behind a sub domain for the main site.
But i need to build a custom load balancer for it, so that the sub domain can point to that.
This is what i have:
apiVersion: v1
kind: Service
metadata:
name: grafana-ingressgateway
namespace: istio-system
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 80
name: http2
- port: 443
name: https
selector:
app.kubernetes.io/name: grafana-lb
app.kubernetes.io/instance: grafana-lb
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: ingress-grafana-gateway-configuration
namespace: istio-system
spec:
selector:
istio: grafana-ingressgateway
servers:
- port:
number: 80
name: grafana-http-ui
protocol: HTTP
hosts:
- "grafana.xxxx.com"
tls:
httpsRedirect: false
- port:
number: 443
name: grafana-https-ui
protocol: HTTPS
tls:
mode: SIMPLE
credentialName: xxxx-cert
hosts:
- "grafana.xxxx.com"
---
kind: VirtualService
apiVersion: networking.istio.io/v1alpha3
metadata:
name: grafana-virtual-service
namespace: istio-system
spec:
hosts:
- "grafana.xxxx.com"
gateways:
- ingress-grafana-gateway-configuration
http:
- match:
- uri:
prefix: /
route:
- destination:
host: grafana.istio-system.svc.cluster.local
But it's not loading, i have already updated the 'grafana' sub domain to point to the new load balancer. The cert is a wild card lets encrypt that is in the istio-system
namespace.
Is this because I added to the same namespace as the default load balancer? I have not seen anything that says you cant run more than one LB in one NS?
Thanks,