
Explore Docker and Kubernetes fundamentals, deployment strategies, and Kubernetes components as you deploy a Springboard app with Cosmos DB on an Azure Kubernetes cluster, using YAML files and debugging commands.
Install Java SE Development Kit 8 and Maven, set up IntelliJ Community Edition; generate a Spring project via Spring Initializr with web, data JPA, Lombok, and install Postman for testing.
Install docker engine by signing up at hub.docker.com and downloading docker desktop for your operating system. Sign in and verify the local setup by running a basic docker command.
Docker enables containerization to unify development and deployment, packaging source code, dependencies, and configurations into portable containers that resolve environment mismatch between local and production.
Explore how Docker's open-source container platform lets you build, package dependencies, runtime, configurations, and server into a portable container that runs the same across environments.
Explore how Docker delivers consistency and isolated environments, enables running the same app anywhere, and accelerates deployment, automation, testing, rollback, modularity, and scalability across stacks.
Learn how a Docker file converts application code into a Docker image, pushable to Docker Hub, and how containers run isolated yet communicate with databases for scalable deployment.
Explore the architecture of on-premise data centers and why cloud adoption reduces cost and risk. Evaluate replication, downtime, and maintenance burdens that drive organizations toward cloud solutions.
Learn how cloud computing delivers on-demand storage and computing power with pay-as-you-go pricing and distributed data centers. Understand the capex-to-opex shift and major providers like AWS, Azure, and Google Cloud.
Explore the three cloud models: infrastructure as a service, platform as a service, and software as a service, and learn how the degree of management shapes deployment and responsibilities.
Explore Azure cloud services overview, covering compute, databases, storage, analytics, cognitive services, IoT, CDN, networking, and identity management for secure, scalable DevOps workflows.
Azure DevOps offers an agile portal with boards, repositories, and pipelines to automate planning, building, testing, and continuous integration and deployment across projects.
Access the Azure portal to create your account with the free option, a $200 credit for 12 months, and a card verification step, then sign in to manage services.
Log in to the Azure portal, explore service categories, and organize resources into resource groups for apps, databases, VMs, and storage.
Explore the Azure DevOps portal to create organizations and projects, manage boards, dashboards, and repositories, and implement pipelines for continuous integration and deployment with test plans and artifacts.
Explore how traditional deployment and virtualization impact utilisation of resources, from hosting OS on the big machine to hypervisor-based virtual machines, highlighting inefficiencies and the drive toward more efficient approaches.
Deploy apps as isolated docker containers using docker images for portable, lightweight execution across any host or cloud. Learn scaling, decoupling, and challenges like health monitoring and security.
Orchestrate container management with kubernetes to scale containers on demand, monitor health, ensure high availability and security, and deploy a new version without impacting others.
Learn how Kubernetes forms a cluster by connecting physical or virtual machines into a master and worker node architecture, with the master issuing commands to workers across cloud environments.
Explore Kubernetes architecture by distinguishing master and worker nodes and their core components, including API server and scheduler, and recognize namespaces for isolating resources within a cluster.
Explore how a Kubernetes cluster orchestrates a master with multiple worker nodes, each running a kubelet that executes commands to deploy pods containing containers from Docker images.
Learn how API server serves as the frontend of the Kubernetes control plane, receiving instructions via UI, APIs, or CLI tools and delivering them to the master and worker nodes.
Explore the Kubernetes controller manager and its four sub controllers—node, application, replication, and endpoint controllers—plus the service account and token controller for namespace API tokens, all bundled in one binary.
The master node scheduler manages board placement by consulting the API server, selecting a suitable node with capacity, and instructing the worker node to deploy the new board.
Explore etcd, a highly available, consistent key-value store that maintains the Kubernetes cluster state on the master node, ensuring redundancy and seamless operation during node failures.
Discover the Kubernetes internal network, an internal virtual network that connects all cluster components, including master and worker nodes, enabling essential communication and keeping the cluster functional.
Explore how a port is the smallest deployable unit hosting containers, and see how a service provides a stable DNS name with load balancing.
Replica sets act as an abstraction on top of the parts, guaranteeing a minimum number of identical parts always running. They work with replication controller to maintain configured minimum.
Wrap Kubernetes configurations into a single deployment for a cluster, and define replicas and autoscale rules in YAML or JSON, managed with kubectl and Helm chart manager.
Set up a local Kubernetes cluster with Mini Cube to simulate a master node and a worker node, and interact with Cube City for deployments.
Explore the different Kubernetes service types, including cluster IP, node port, load balancer, and external name, and learn how each selects accessible scope within or outside the cluster.
Clone the spring boot and mongodb project from the repository, switch to the correct branch, and import the folder into your IDE to prepare for deployment.
Create an Azure resource group to organize related resources, name it Springboard, select location, then delete the group after setup and proceed to create the database in the next video.
Create an Azure Cosmos DB resource by selecting a subscription, choosing a location, and configuring the API, then access deployment logs and prepare to connect to the Springboard application.
Navigate to the Cosmos DB page, locate the connection string from the database details, and prepare the information to connect your application to Cosmos DB.
The lecture walks through a Spring Boot MongoDB application with item and category models, their repositories and controllers, preparing to connect to a MongoDB database on Asia.
Connect a local Spring Boot application to Azure Cosmos DB by updating the default profile and connection string, then verify connectivity using Postman and inspect databases, collections, and documents.
Create a dockerfile to containerize a spring boot application using an OpenJDK 11 base image, expose the port 88 of the container, and copy the built jar from target.
Build a docker image from the application locally by tagging with a name and version, then verify the image and prepare to push to an agile container registry.
Create an Azure container registry by selecting a resource group, choosing the registry name, configuring public access, and applying the standard pricing plan.
Log into Azure and Azure Container Registry using the Azure CLI, retrieve username and password, install the CLI, and authenticate to push a Docker image to the registry.
Tag your local docker image with the Azure container registry repository version, then push the tagged image to the ACR to complete the deployment.
Tag the local Docker image and push it to Azure container registry in the Asia region, so the Docker image for the Oval Springboard application appears in the repository.
Create an Azure Kubernetes cluster with high availability across three zones, set node count and auto scaling, and enable monitoring with a default log analytics workspace.
Install kubectl to interact with your Kubernetes cluster. Download the kubectl CLI tool, add its path to your environment variables, and use it from any command prompt.
Establish a connection from your local machine to the Azure AKS cluster using kubectl, then verify cluster details, services, node pools, and the default namespace.
Learn to create a deployment using kubectl, specify the image and repository, and verify deployment status and details, preparing to create a service next.
Expose a deployment by creating a service object with a load balancer, then retrieve the external IP to access the application from outside the cluster using kubectl.
Deploy and verify a springboard application in a Kubernetes cluster, check pod logs, connect to Azure cloud MongoDB, and perform post and get operations to confirm data flow.
Understand how a Kubernetes deployment uses a yaml file to declare replicas, selectors, and a pod template, then deploys or updates pods with kubectl apply -f.
Expose a deployment on a Kubernetes cluster by defining a service with yaml, linking a selector to the deployment, and mapping ports to the outside world via NodePort or LoadBalancer.
Create deployment and service yaml files for a Spring Boot app on any Kubernetes cluster, configuring replicas, pod template, and container ports.
Apply the deployment with kubectl apply -f <file> on an Azure AKS cluster, then expose it with a load balancer service to obtain an external IP.
Delete an existing Kubernetes service and create a new one, then expose deployments with a load balancer service, assign public IPs, and run multiple services on distinct ports.
Explore the power of Kubernetes by deploying any database with any app using Docker images across a cluster, with deployments, services, and parallel replicas.
Deploy the same applications on AKS, EKS, GKS, on-premise, or a mini cube cluster, using Kubernetes to run Docker containers in pods across clouds and on premise.
Delete azure resources in a resource group to avoid extra costs by removing all infrastructure resources and cleaning up groups. Be patient as deletion can take several minutes.
https://github.com/ranjanpandeysbp/springboot-k8s-aks
In this course you will learn everything about Docker, Kubernetes and Azure Kubernetes by deploying SpringBoot application with Database on AKS.
You will start by learning the basics of Docker, why we need docker, and the benefits of using docker.
You will learn everything about cloud and Azure Cloud and its services.
You will then learn about the need for Kubernetes, the Architecture of Kubernetes, different components of Kubernetes.
We will convert a springboot application into a docker container.
We will create Azure cloud account and then we will create database on Azure cloud then we will create docker container repository on Azure cloud after that we will create Kubernetes cluster on Azure cloud.
Once we have created all the Azure resources then we will move our dockerized springboot application with its database connection on Azure Kubernetes.
We will apply two approaches for deploying application on Azure Kubernetes cluster using deployment and service object directly with kubectl commandline and also with the yaml file for deployment and service.
We will follow below steps:
2-Create new Azure Resource Group
3-Create Azure CosmosDB
4-Getting the Cosmos DB Connection string
5-Walk through of Springbbot MongoDB Application
6-Connecting Local Springboot with Azure CosmosDB
7-Write Docker file for the Springboot Application
8-Docker build in local
9-Creating Azure Container Registry
10-Login to Azure and Azure Container Registry with Azure CLI tool
11-Tagging local docker image to Azure ACR repository version
12-Pushing the local docker image to Azure ACR
13-Create Azure Kubernetes Cluster
14-Installing Kubectl CLI tool
15-Establish connection from Local to Azure AKS Cluster
16-Create Deployment Object and Access the details of the deployment
17-Expose Service on the Deployment
18-Final Testing and Checking Logs of the Pod
20-Execute the deployment and service YAML with Kubectl apply on Azure AKS cluster
21-Deleting old service creating new service and accessing alongside old service
22-Understanding the power and possibilities of Kubernetes
23-Run the same deployment and service on AKS, EKS, GKS, On-premise or minikube or even mix and match
24-Deleting Azure Cloud Resources to avoid extra cost
25-Source Code