Preparation, Docker Image Push and Deployment for Containerised Voting Application in Kubernetes Cluster using Docker, Azure Container Registry (ACR) and Azure Kubernetes Service (AKS)
Onboarding a New Team Member for Kubernetes Deployment: A Personal Case Study
Introduction
I recently took on the exciting task of onboarding a new team member unfamiliar with DevOps, Kubernetes, and containers. The challenge lay in quickly bringing him up to speed for a project requiring deploying an application onto a Kubernetes cluster. In this blog post, I’ll walk you through our journey, the challenges encountered, and how I led the successful Azure Kubernetes Services (AKS) deployment.
The Challenge
Lack of Experience
The most significant hurdle was the new team member’s need for prior experience in DevOps and container orchestration. With an upcoming online event focused on Cloud technologies on the horizon, the pressure was on to educate him and ensure a successful application deployment.
Time Constraints
Time was of the essence. We had limited time to get the new member up to speed and successfully deploy the application.
The Process
Leveraging Azure Kubernetes Services (AKS)
I chose to use AKS to create a managed Kubernetes cluster. AKS offers serverless Kubernetes, an integrated CI/CD experience, and enterprise-grade security and governance, making it ideal for someone just starting in this field.
Pushing Docker Image to Azure Container Registry (ACR)
The first practical task involved pushing the application’s Docker image to the Azure Container Registry (ACR). This was an excellent hands-on introduction for the new team member to containerised applications and Azure services.
Deploying the Cluster
After securely storing the Docker image in ACR, I used AKS to deploy our Kubernetes cluster. Managed by Microsoft Azure, AKS handled many manual tasks and simplified the deployment process.
Application Deployment
Finally, it was time to deploy the application, composed of multiple pods — the most minor deployable units in Kubernetes. I guided the new member through this phase, showing him how to apply configurations and observing the successful rollout of the application onto the cluster.
Conclusion
The project was a huge success. Despite the initial challenges, I could onboard the new team member effectively. He gained valuable experience and was fully prepared to participate in the upcoming Cloud event. This experience reinforced the importance of mentorship, practical training, and how Azure services can ease the complexities associated with deploying applications on Kubernetes.