<p>I am trying out nginx-ingress on GKE with SSL termination for use cases. I've traveled to millions of blogs on this process which uses cert-manager with nginx ingress controller but none of them worked in my case.</p>

<p>This certainly means I am doing something wrong. But I am not sure what. Here's what I did:</p>

<ol>
<li>Create sample app exposed on ClusterIP</li>
<li>Deploy nginx-ingress</li>
<li>Create issuer</li>
<li>Create nginx ingress with issuer.</li>
</ol>

<p>Result:</p>

<p>After describing the nginx ingress, the events areas shows <code>none</code>. That means everything is completely blank. Not a single thing happened for requesting certs, http validation, etc.</p>

<p>nginx ingress:</p>

<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
    name: my-ingress
    annotations:
        kubernetes.io/ingress.class: nginx
        certmanager.k8s.io/cluster-issuer: letsencrypt-staging
        kubernetes.io/tls-acme: 'true'
spec:
    rules:
        -
            host: wptls.ml
            http: {paths: [{path: /, backend: {serviceName: web, servicePort: 80}}]}
    tls:
        -
            secretName: tls-staging-cert
            hosts: [wptls.ml]
</code></pre>

<p>clusterissuer.yml:</p>

<pre><code>apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
    name: letsencrypt-staging
spec:
    acme:
        server: 'https://acme-staging-v02.api.letsencrypt.org/directory'
        email: xyz@gmail.com
        privateKeySecretRef:
            name: letsencrypt-sec-staging
        http01: {}
</code></pre>

<p>I am not sure if there's anything else which needs to be done.</p>

Shantanu Deshpande
<p>Try Ingress extra annotation likes</p>

<blockquote>
<pre><code>nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/secure-backends: "true"

https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/
</code></pre>
</blockquote>
