KubeSail: Get your free Kubernetes Cluster
If you’re looking for free Kubernetes Cluster to play around then KubeSail is the right choice, its hosted Kubernetes provider, and offers free managed namespace. With KubeSail you can deploy and host applications easily. In this post, we take look steps on how to deploy applications onto to KubeSail cluster.
Image – KubeSail Logo
Once you have created your account on KubeSail, follow the below steps to deploy your applications.
Quick Snapshot
Step #1: Get Kubectl configuration
From the account setup tab, get the kubectl
configuration. To recap on what is kubectl
, this is the command-line interface through which we can interact with Kubernetes API.

Image – KubeSail Account Page
Copy the contents of kubectl configuration and paste to your ~/.kube/config
so that we can use kubectl
to access our cluster.
If you’re looking for quickstart on basic understanding of Kubernetes concepts, please refer earlier posts for understanding on Kubernetes & how to create, deploy & rollout updates to the cluster.
Step # 2: Create deployment
Before creating deployment run kubectl get deployment
to check if there are any deployments.

Image – Run kubectl get deployment to check if there are any deployments
Now that we have cluster ready, we can use kubectl create
the command to create a new deployment. I already have below deployment.yaml
ready with the simple web app – Nginx as a container image.
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: webapp1 spec: replicas: 1 template: metadata: labels: app: webapp1 spec: containers: - name: webapp1 image: nginxinc/nginx-unprivileged ports: - containerPort: 8080

Image – Use kubectl create command to create deployment
Re-run kubectl get deployment
to check if deployment has succeeded.
Congrats! We have just deployed the first application on KubeSail by creating a deployment. Following is what the command has done for us:
- Searched for a suitable node where an instance of the application could be run. (currently, we have only 1 available node)
- Scheduled the
webapp1(ngnix)
application to run on that node. - Configured the cluster to reschedule the instance on a new node when needed.
You can also run kubectl describe deployment
to get more details of the deployment.

Image – Run kubectl describe deployment to view more details
Once the application instances are created, a Kubernetes Deployment Controller continuously monitors those instances. If the Node hosting an instance goes down or deleted, the Deployment controller replaces it.
Some of the useful kubectl
commands are below.
- kubectl get– list resources
- kubectl describe– show detailed information about a resource
- kubectl logs– print the logs from a container in a pod
- kubectl exec– execute a command on a container in a pod
From the KubeSail console too, you can view the deployments and its status.

Image – KubeSail Deployments
Step # 3: Expose nginx app outside of the cluster
To expose the app to the outside world, either we can create a new service or from the KubeSail Deployment page. For now, we are going to expose it from KubeSail Deployment page, click on ‘Ports’ to proceed.
Choose one of the options to get the app exposed.

Image – Hurray! App exposed to the outside world

Image – Nginx Landing Page
Congrats! We have just exposed our Nginx application to the outer world.
You can upgrade or downgrade your KubeSail cluster any time from your dashboard. Please check out the Pricing page for more details.
Like this post? Don’t forget to share it!
Useful Resources
- Kubernetes Official documentation
- Take a free course on Building Scalable Java Microservices with Spring Boot and Spring Cloud
- Download FREE eBook on Kubernetes
- Run your local Kubernetes clusters with Kind
- 10 BEST Kubernetes monitoring tools
- Managed Kubernetes Platforms Comparison: GKE vs AKS vs EKS
- Google Cloud Courses Collection

