<p>Is there anything special about running ingress controllers on Kubernetes CoreOS Vagrant Multi-Machine? I followed the example but when I run <code>kubectl -f</code> I do not get an address.</p>

<p>Example:</p>

<p><a href="http://kubernetes.io/v1.1/docs/user-guide/ingress.html#single-service-ingress" rel="nofollow">http://kubernetes.io/v1.1/docs/user-guide/ingress.html#single-service-ingress</a></p>

<p>Setup:</p>

<p><a href="https://coreos.com/kubernetes/docs/latest/kubernetes-on-vagrant.html" rel="nofollow">https://coreos.com/kubernetes/docs/latest/kubernetes-on-vagrant.html</a></p>

<p>I looked at networking in kubernetes. Everything looks like it should run without further configuration.</p>

<p>My goal is to create a local testing environment before I build out a production platform. I'm thinking there's something about how they setup their virtualbox networking. I'm about to dive into the CoreOS cloud config but thought I would ask first.</p>

<p><strong>UPDATE</strong></p>

<p>Yes I'm running an ingress controller.</p>

<p><a href="https://github.com/kubernetes/contrib/blob/master/Ingress/controllers/nginx-alpha/rc.yaml" rel="nofollow">https://github.com/kubernetes/contrib/blob/master/Ingress/controllers/nginx-alpha/rc.yaml</a></p>

<p>It runs without giving an error. It's just when I run <code>kubectl -f</code> I do not get an address. I'm thinking there's either two things:</p>

<ol>
<li>I have to do something extra in networking for CoreOS-Kubernetes vagrant multi-node.</li>
<li>It's running right, but I'm point my localhost to the wrong IP. I'm using a 172.17.4.x ip, I also have 10.0.0.x . I can access services through the 172.17.4.x using a NodePort, but I can get to my Ingress.</li>
</ol>

<p>Here is the code:</p>

<pre><code>apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx-ingress
  labels:
    app: nginx-ingress
spec:
  replicas: 1
  selector:
    app: nginx-ingress
  template:
    metadata:
      labels:
        app: nginx-ingress
    spec:
      containers:
      - image: gcr.io/google_containers/nginx-ingress:0.1
        imagePullPolicy: Always
        name: nginx
        ports:
        - containerPort: 80
          hostPort: 80
</code></pre>

<p><strong>Update 2</strong>
Output of commands:</p>

<p><code>kubectl get pods</code></p>

<pre><code>NAME                  READY     STATUS    RESTARTS   AGE
echoheaders-kkja7     1/1       Running   0          24m
nginx-ingress-2wwnk   1/1       Running   0          25m
</code></pre>

<p><code>kubectl logs nginx-ingress-2wwnk --previous</code></p>

<pre><code>Pod "nginx-ingress-2wwnk" in namespace "default": previous terminated container "nginx" not found
</code></pre>

<p><code>kubectl exec nginx-ingress-2wwnk -- cat /etc/nginx/nginx.conf</code></p>

<pre><code>events {
  worker_connections 1024;
}
http {


}%
</code></pre>

<p>I'm running an echoheaders service on NodePort. When I type the node IP and port on my browser, I get that just fine.</p>

<p>I restarted all nodes in virtualbox too.</p>

<p>With a lot help from kubernetes irc and slack, I fixed this a while back. If I remember correctly, I had the ingress service listening on a port that was already being used, I think for vagrant. These commands really help:</p>

<pre><code>kubectl get pod &lt;nginx-ingress pod&gt; -o json
kubectl exec &lt;nginx-ingress pod&gt; -- cat /etc/nginx/nginx.conf
kubectl get pods -o wide
kubectl logs &lt;nginx-ingress pod&gt; --previous
</code></pre>
