I am trying to enable HTTPS on my Istio Ingress Gateway after installing the service mesh, gateway, and applying a routing policy. The initial Istio installation was done using a profile which includes an istio-ingressgateway
service. When I do it this way, it creates the ingress gateway as a Kind: Service
instead of a Kind: Gateway
.
I looked at this: https://istio.io/latest/docs/tasks/traffic-management/ingress/secure-ingress/ But, the tutorial only describes how to apply the certificate to a Gateway kind and not a Service kind.
What is the proper way to apply the SSL certificate to an ingress gateway service or is there a better way to approach this?
Thanks for your help!
EDIT: Problem Solved.
I went back through the tutorial last night after going down the path of trying to create a clusterIssuer and installing cert manager etc with poor results (The certificate never got accepted by the Certificate Authority for some reason so I only had the key file and an empty cert file). It ended up being easier to create my own certificate.
The issue was that I was referencing the TLS port in my virtual service when I only needed to point towards the port of the service where I was trying to send traffic from the gateway.
This article helped me understand better: Secure Ingress -Istio By Example along with the official Istio Secure-Ingress tutorial I linked above already.
From there I just created a new secret, ran a script that creates a working certificate (basically just a bash script that follows the steps from the Istio tutorial), and then made sure the credential name in my gateway file matched the new secret I created.