<p>I currently have a Kubernetes cluster running on GCP. In this cluster I have a working NGINX Ingress, but now I'm trying add a certificate to this by using cert-manager.</p>
<p>Everything works fine except the ACME challenge.
When I do a <code>kubectl describe challenge</code> I get the following:</p>
<pre><code>Status:
  Presented:   true
  Processing:  true
  Reason:      Waiting for HTTP-01 challenge propagation: failed to perform self check GET request
</code></pre>
<p>When the acme challenge creates a solver service I get the follow error message on GCP:</p>
<pre><code>&quot;All hosts are taken by other resources&quot;
</code></pre>
<p><a href="https://i.stack.imgur.com/S0p5f.png" rel="noreferrer">Image of the error I'm getting in google cloud</a></p>
<p>I have tried to create a <strong>Issuer</strong> and <strong>ClusterIssuer</strong> but the same problem keeps popping up.</p>

<p>After trying to solve the issues and browsing the web, I have figured out the solution.
It is possible to add the following annotation:</p>
<pre><code>annotations:
  acme.cert-manager.io/http01-edit-in-place: &quot;true&quot;
</code></pre>
<p>After adding this line to my Ingress resource everything seemed to work perfectly.
When this annotation is not passed in, cert-manager will create an extra Ingress for the acme challenge</p>
<p>See: <a href="https://cert-manager.io/docs/usage/ingress/#:%7E:text=acme.cert%2Dmanager.io%2Fhttp01%2Dedit%2D,the%20annotation%20assumes%20%E2%80%9Cfalse%E2%80%9D." rel="noreferrer">Cert-manager, using an Ingress</a></p>
