Deploy Your Application

This tutorial demonstrates how to deploy your application to your cluster. We will deploy a hello world application to your cluster that responds with “Hello Kubernetes!” when you curl it.

Log into Kubermatic Kubernetes Platform (KKP), then create and connect to the cluster. For this tutorial, external IP is required which will be provided through the supported cloud providers. Be aware that some providers like DigitalOcean do not provide external IPs.

We are using a hello-world app whose image is available at gcr.io/google-samples/node-hello:1.0.

First, create a Deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: load-balancer-example
  name: hello-world
spec:
  replicas: 3
  selector:
    matchLabels:
      app.kubernetes.io/name: load-balancer-example
  template:
    metadata:
      labels:
        app.kubernetes.io/name: load-balancer-example
    spec:
      containers:
      - image: gcr.io/google-samples/node-hello:1.0
        name: hello-world
        ports:
        - containerPort: 8080
kubectl apply -f load-balancer-example.yaml

To expose the Deployment, create a Service object of type LoadBalancer.

kubectl expose deployment hello-world --type=LoadBalancer --name=my-service

Now you need to find out the external IP of that service.

kubectl get services my-service

The response on AWS should look like this:

NAME         TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)          AGE
my-service   LoadBalancer   10.240.29.100   <external-ip>   8080:30574/TCP   19m

If you curl against that external IP:

curl <external-ip>:8080

you should get this response:

Hello Kubernetes!