I'm trying to configure SSL certificates in kubernetes with cert-manager, istio ingress and LetsEncrypt. I have installed istio with helm, cert-manager, created ClusterIssuer and then I'm trying to create a Certificate. The acme challenge can't be validated, i'm trying to do it with http01 and can't figure it out how to use istio ingress for this. Istio is deployed with following options:
helm install --name istio install/kubernetes/helm/istio `
--namespace istio-system `
--set global.controlPlaneSecurityEnabled=true `
--set grafana.enabled=true`
--set tracing.enabled=true
--set kiali.enabled=true `
--set ingress.enabled=true
Certificate configuration:
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
name: example.com
namespace: istio-system
spec:
secretName: example.com
issuerRef:
name: letsencrypt-staging
kind: ClusterIssuer
commonName: 'example.com'
dnsNames:
- example.com
acme:
config:
- http01:
ingress: istio-ingress
domains:
- example.com
When trying this way, for some reason, istio-ingress can't be found, but when trying to specify ingressClass: some-name, instead of ingress: istio-ingress, I get 404 because example.com/.well-known/acme-challenge/token can't be reached. How can this be solved? Thank you!