In this lesson, we’ll set up a DevSecOps environment on an Azure Virtual Machine. We’ll install Docker, Kubernetes (kubeadm & kubectl), Jenkins, and Maven, then deploy a simple Nginx application. This end-to-end tutorial is ideal for anyone looking to automate CI/CD in the cloud.Documentation Index
Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
Use this file to discover all available pages before exploring further.
Verifying Deployment in Azure
After your deployment finishes, confirm that all resources (VM, network interfaces, disks, VNet, NSGs, public IP) show a Succeeded status:
Configuring a DNS Name
Assigning a DNS label to your VM’s public IP makes SSH and service URLs easier to remember:- In the Azure portal, go to your Resource Group.
- Select the Public IP resource (e.g.,
devsecops-cloud-ip). - Under Configuration, enter a DNS name label (e.g.,
DevSecOpsDemo). - Click Save.

DevSecOpsDemo.eastus.cloudapp.azure.com
DNS changes can take a few minutes to propagate. Use
nslookup DevSecOpsDemo.eastus.cloudapp.azure.com to verify resolution.Connecting via SSH
Use any SSH client. Here’s an example with MobaXterm:
- Remote host:
DevSecOpsDemo.eastus.cloudapp.azure.com - Username: your VM admin (e.g.,
devsecops)
Preparing the VM
Switch to the root user to avoid typingsudo repeatedly:
Cloning the Demo Repository
Download the demo scripts and navigate to the install script directory:Running the Install Script
Theinstall-script.sh automates installation of:
| Component | Installation Method | Version |
|---|---|---|
| Docker | apt | Latest |
| Kubernetes | kubeadm, kubectl | v1.20.0 |
| Jenkins | apt | 2.289.1 |
| Maven | apt | 3.x |
Always review scripts from external sources before executing them on production systems.
Deploying a Sample Nginx Application
-
Create the Nginx pod:
-
Check pod status:
Watch until it’s running:
-
Expose it via a NodePort service:
-
In your browser, go to:
Next, we’ll configure a Jenkins pipeline to automate builds and deployments in Kubernetes.
Links and References
- Azure Virtual Machines Documentation
- Docker Documentation
- Kubernetes Basics
- Jenkins User Handbook
- Apache Maven Project