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.
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
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!
- 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