<p>I wanting to have my own Kubernetes playground within AWS which currently involves 2 EC2 instances and an Elastic Load Balancer.</p>

<p>I use Traefik as my ingress controller which has easily allowed me to set up automatic subdomains and TLS to some of the deployments (deployment.k8s.mydomain.com).</p>

<p>I love this but as a student, the load balancer is just too much. I'm having to kill the cluster when not using it but ideally, I want this up full time. </p>

<p>Is there a way to keep my setup (the cool domain/tls stuff) but drop the need for a ELB? </p>

Sam
<p>If you want to drop the use of a LoadBalancer, you have still another option, this is to expose Ingress Controller via Service of <a href="https://kubernetes.io/docs/concepts/services-networking/service/#external-ips" rel="nofollow noreferrer">externalIPs</a> type or <a href="https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal" rel="nofollow noreferrer">NodePort</a>.</p>

<pre><code>kind: Service
apiVersion: v1
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app: ingress-nginx
spec:
  selector:
    app: ingress-nginx
  ports:
  - name: http
    port: 80
    targetPort: http
  - name: https
    port: 443
    targetPort: http
  externalIPs:
  - 80.11.12.10
</code></pre>

<p>You can then create a CNAME (deployment.k8s.mydomain.com) to point to the external  IP of your cluster node. Additionally, you should ensure that the local firewall rules on your node are allowing access to the open port.</p>
