<p>In my gcloud console it shows the following error for my defined ingresses: </p>

<blockquote>
  <p>Error during sync: error while evaluating the ingress spec: service
  "monitoring/kube-prometheus" is type "ClusterIP", expected "NodePort"
  or "LoadBalancer"</p>
</blockquote>

<p>I am using traefik as reverse proxy (instead of nginx) and therefore I define an ingress using a ClusterIP. As far as I understand the process all traffic is proxied through the traefik service (which has a Loadbalancer ingress defined) and therefore all my other ingresses SHOULD actually have a ClusterIP instead of NodePort or Loadbalancer?</p>

<p><strong>Question:</strong></p>

<p>So why does Google Cloud warn me that it expected a NodePort or LoadBalancer?</p>

<p><a href="https://i.stack.imgur.com/WzOKi.png" rel="noreferrer"><img src="https://i.stack.imgur.com/WzOKi.png" alt="enter image description here"></a></p>

kentor
<p>Thanks @aayore. In my case, I had to specify an ingress class explicitly, so that Google Cloud wouldn't interfere. The Nginx ingress seems to be happy with <code>ClusterIp</code> services.</p>

<pre><code>metadata:
  name: foo
  annotations:
    kubernetes.io/ingress.class: "nginx"
</code></pre>
