<p>I've been trying to use Traefik as an Ingress Controller on Google Cloud's container engine.</p>

<p>I got my http deployment/service up and running (when I exposed it with a normal LoadBalancer, it was answering fine).</p>

<p>I then removed the LoadBalancer, and followed this tutorial: <a href="https://docs.traefik.io/user-guide/kubernetes/" rel="noreferrer">https://docs.traefik.io/user-guide/kubernetes/</a></p>

<p>So I got a new <code>traefik-ingress-controller</code> deployment and service, and an ingress for traefik's ui which I can access through the kubectl proxy.</p>

<p>I then create my ingress for my http service, but here comes my issue: I can't find a way to expose that externally.</p>

<p>I want it to be accessible by anybody via an external IP.</p>

<p>What am I missing?</p>

<p>Here is the output of <code>kubectl get --export all</code>:</p>

<pre><code>NAME                                            READY     STATUS    RESTARTS   AGE
po/mywebservice-3818647231-gr3z9                1/1       Running   0          23h
po/mywebservice-3818647231-rn4fw                1/1       Running   0          1h
po/traefik-ingress-controller-957212644-28dx6   1/1       Running   0          1h

NAME                             CLUSTER-IP      EXTERNAL-IP   PORT(S)                       AGE
svc/mywebservice                 10.51.254.147   &lt;none&gt;        80/TCP                        1d
svc/kubernetes                   10.51.240.1     &lt;none&gt;        443/TCP                       1d
svc/traefik-ingress-controller   10.51.248.165   &lt;nodes&gt;       80:31447/TCP,8080:32481/TCP   25m
svc/traefik-web-ui               10.51.248.65    &lt;none&gt;        80/TCP                        3h

NAME                                DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy/mywebservice                 2         2         2            2           1d
deploy/traefik-ingress-controller   1         1         1            1           3h

NAME                                      DESIRED   CURRENT   READY     AGE
rs/mywebservice-3818647231                2         2         2         23h
rs/traefik-ingress-controller-957212644   1         1         1         3h
</code></pre>

<p>You need to expose the Traefik service. Set the service spec type to <code>LoadBalancer</code>. Try the below service file that i've used previously:</p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  name: traefik
spec:
  type: LoadBalancer
  selector:
    app: traefik
    tier: proxy
  ports:
  - port: 80
    targetPort: 80
</code></pre>
