I am trying to deploy ingress gateway handling SSL certificates with Cert-Manager. I have followed the documentation at https://istio.io/docs/tasks/traffic-management/ingress/ingress-certmgr/ - however I can only connect to services using istio ingress through http and not https, getting connection refused to port 443. When inspecting istio ingressgateway I can see the following error:
You are forgetting to enable sds and https labels in the istio-system namespace. You should:
Disable Ingress
Enable SDS and https labels at istio-system namespace
gateways.istio-ingressgateway.sds.enabled=true
global.k8sIngress.enableHttps=true
Enable Ingress
Check ingressgateway logs, you should see something like:
2019-10-29T06:48:25.513093Z info sdsServiceLog SDS gRPC server for ingress gateway controller starts, listening on “/var/run/ingress_gateway/sds”
2019-10-29T06:48:25.513234Z info sdsServiceLog Start SDS grpc server for ingress gateway proxy
2019-10-29T06:48:26.401725Z info sdsServiceLog CONNECTION ID: router~xyz~istio-ingressgateway-5d96ddd8c-lsm29.istio-system~istio-system.svc.cluster.local-1, RESOURCE NAME: YOURCERTIFICATE , EVENT: pushed key/cert pair to proxy
@fai555 I switched to Istio v1.5 and I do have a lot less hassle to get everything running.
In v1.5 you don’t need to enable SDS, because it is enabled by default. Further the overhead of running the Istio components is way lower now.
I just needed a “public-gateway”, a Issuer and a Certificate ressource for the cert-manager. Everything works like a charm