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.
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.
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.
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
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.
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.
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.
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
Average Rating