# Locally Deploy Web App and Server on K8s Cluster using KubeCTL In this tutorial, readers will learn how to use the kubectl command to build and deploy two applications (a Client Web Application and Backend Application) on a local Kubernetes cluster. ## Prerequistes - Knowledge of Kubernetes - Knowledge of Docker - Rancher Desktop - Code Editor - Terminal - Kubectl installed - Docker installed - Docker Hub account - Node.js installed ## Outline - Introduction - A brief overview of some real-world applications of the locally hosted kubernetes cluster and KubeCTL. - A brief overview of the Rancher Desktop and its application. - Tell the readers what they will learn from the tutorial. - What is kubernetes Cluster and kubeCTL? - This section will explain what Kubernetes Cluster is and how KubeCTL can be used to deploy applications. - Demo: Setting up the Kubernetes Cluster with Rancher Desktop - Installing the Rancher Desktop. - Setting up a local Kubernetes cluster. - Installing Kubectl. - Steps to prepare a Backend Node.js application for deployment - Building the server - Cloning and Containerizing the project - Pulling the code from a github repository. - Creating a Dockerfile for the Node.js application. - Build the Docker image and push to Docker Hub. - Steps to prepare a React.js Frontend application for deployment - Setting up the Client-side of the Project - Pulling the code from github - Containerizing the application - Building the image and pushing to docker Hub - Deploying Both Application Containers to the Kubernetes Cluster - Create Deployments for Client App and Server - This section will provide detailed instructions for creating deployment files for both application containers. - Create NodePort Services for Both Client and server - This section will explain the process of creating services for application deployment. - Deploy to cluster - This will include steps for injecting environment variables and deploying the created deployment and services. - Testing - This section will contain instructions for testing the application containers deployment. ## Conclusion This section will include a summary of what was covered in the article. ## Resources This section will include a list of resources that readers may find useful.