title: Simple ingress from host with microk8s?
body: <p>I would like to do two things with MicroK8s:</p>
  
  <ol>
  <li>Route the host machine (Ubuntu 18.04) ports 80/443 to Microk8s</li>
  <li>Use something like the simple ingress defined in the <a href="https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-controllers" rel="noreferrer">kubernetes.io</a> docs</li>
  </ol>
  
  <p>My end goal is to create a single node Kubernetes cluster that sits on the Ubuntu host, then using ingress to route different domains to their respective pods inside the service.</p>
  
  <p>I've been attempting to do this with Microk8s for the past couple of days but can't wrap my head around it. </p>
  
  <ul>
  <li><p>The best I've gotten so far is using <a href="https://github.com/google/metallb" rel="noreferrer">MetalLB</a> to create a load balancer. But this required me to use a free IP address available on my local network rather than the host machines IP address.</p></li>
  <li><p>I've also enabled the <code>default-http-backend</code> and attempted to export and edit these config files with no success.</p></li>
  </ul>
  
  <p>As an example this will work on <code>Minikube</code> once the ingress add on is enabled, This example shows the base Nginx server image at port 80 on the cluster IP:</p>
  
  <pre><code># ingress-service.yaml
  
  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: ingress-service
    annotations:
      kubernetes.io/ingress.class: nginx
      nginx.ingress.kubernetes.io/rewrite-target: /
  spec:
    rules:
      # - host: nginx.ioo
      - http:
          paths:
            - path: /
              backend:
                serviceName: nginx-cluster-ip-service
                servicePort: 80
  </code></pre>
  
  <pre><code># nginx-deployment.yaml
  
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: nginx-deployment
  spec:
    replicas: 1
    selector:
      matchLabels:
        component: nginx
    template:
      metadata:
        labels:
          component: nginx
      spec:
        containers:
          - name: nginx
            image: nginx
            ports:
              - containerPort: 80
  </code></pre>
  
  <pre><code># nginx-cluster-ip-service
  
  apiVersion: v1
  kind: Service
  metadata:
    name: nginx-cluster-ip-service
  spec:
    type: ClusterIP
    selector:
      component: nginx
    ports:
      - port: 80
        targetPort: 80
  </code></pre>