<p>I am new to Kubernetes and I am currently deploying a cluster in AWS using Kubeadm. The containers are deployed just fine, but I can't seem to access them with by browser. When I used to do this via Docker Swarm I could simply use the IP address of the AWS node to access and login in my application with by browser, but this does not seem to work with my current Kubernetes setting.</p>

<p>Therefore my question is how can I access my running application under these new settings?</p>

João Matos
<p>You should read about how to use <a href="https://kubernetes.io/docs/concepts/services-networking/service/" rel="nofollow noreferrer">Services</a> in Kubernetes:</p>

<blockquote>
  <p>A Kubernetes Service is an abstraction which defines a logical set of
  Pods and a policy by which to access them - sometimes called a
  micro-service.</p>
</blockquote>

<p>Basically Services allows a Deployment (or Pod) to be reached from inside or outside the cluster.</p>

<p>In your case, if you want to expose a single service in AWS, it is as simple as:</p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  name: myApp
  labels:
    app: myApp
spec:
  ports:
  - port: 80 #port that the service exposes
    targetPort: 8080 #port of a container in "myApp"
  selector:
    app: myApp #your deployment must have the label "app: myApp"
  type: LoadBalancer
</code></pre>

<p>You can check if the Service was created successfully in the AWS EC2 console under "Elastic Load Balancers" or using <code>kubectl describe service myApp</code></p>
