Kubernetes on Azure (AKS) – Only Demo Purposes

Whether you're a student, developer, or DevOps engineer preparing for a demo, this guide walks you through setting up AKS for demo purposes quickly and efficiently.
Let’s get started!
Prerequisites
An Azure Account: Sign up here
Azure CLI: Install Guide
kubectl: Install Guide
Creating Kubernetes cluster
Visit Azure portal and log in with your Azure account. On the top search bar, type Kubernetes services and select it. Click the "+ Create" button and choose "Create Kubernetes cluster".


Configure the basic settings according to your needs. The image below shows an example configuration for demo purposes only.


Once your AKS cluster is ready, follow the connection instructions provided under the "Connect" section in the Azure Portal to configure kubectl access.
Note: In the screenshot, I skipped the
az loginstep because I was already logged in.
az login
az account set --subcription <subcription-id>
az aks get-credentials --resource-group <resource-group-name> --name <k8s-cluster-name> --overwrite-existing


To verify your connection to the cluster, run:
kubectl get svc
You should see the default Kubernetes services listed, confirming the connection.

Below is the architecture, along with the deployment and service configuration files used in this demo.
Disclaimer: These files are originally created by KodeKloud. I'm using them solely for demonstration purposes. You can fork the original files from their public repository.

I made a small modification:
Changed the service type to LoadBalancer for both vote-service and result-service (the frontends) to allow external access.

Let’s Deploy
As you can see in the screenshot, I have these manifest files (vote-deployment.yaml, vote-service.yaml, result-deployment.yaml, result-service.yaml, db-deployment.yaml, db-service.yaml, redis-deployment.yaml, redis-service.yaml, worker-deployment.yaml).

To deploy the applications to your AKS cluster, use the kubectl apply command, specifying the -f flag followed by the name of each manifest file:
kubectl apply -f vote-deployment.yaml
kubectl apply -f vote-service.yaml
kubectl apply -f result-deployment.yaml
kubectl apply -f result-service.yaml
kubectl apply -f db-deployment.yaml
kubectl apply -f db-service.yaml
kubectl apply -f redis-deployment.yaml
kubectl apply -f redis-service.yaml
kubectl apply -f worker-deployment.yaml

As shown in the screenshot, each kubectl apply command will create the corresponding deployment and service in your AKS cluster.
To verify that the deployments and services have been created successfully, you can use the kubectl get deployments,svc command:
kubectl get deployments,svc
The output, as seen in the screenshot, will display the list of deployments and services along with their current status, the number of ready replicas, their age, and for services, their type, cluster IP, external IP, and exposed ports.

Similarly, the services (service/vote, service/result, service/db, service/redis) will be listed with their respective details in Azure portal. Notice that the vote and result services are of type LoadBalancer, which means Azure Kubernetes Service has provisioned external load balancers to make these applications accessible from outside the cluster. You can see their external IPs listed in the "EXTERNAL-IP" column.

You can now access the voting application and the results application using the external IPs provided for the vote and result services, respectively, in your web browser.


Congratulations! You have successfully deployed a multi-tier application to your Azure Kubernetes Service cluster using kubectl. This demonstrates the basic steps involved in deploying and managing applications on AKS.
Don’t forget to delete the resources to avoid extra charges.

Thanks for reading!





