DevOps လောကထဲကို ဝင်ရောက်ဖို့ ပထမဆုံး ခြေလှမ်း — လုံးဝအစကနေ စပြီး ကိုယ်ပိုင် Lab ကိုယ်တိုင်တည်ဆောက်ကြည့်မယ်။
Target Goals
နောက်လာမယ့် DevOps project တွေ (CI/CD, Kubernetes, IaC, monitoring စတာတွေ) အတွက် စမ်းသပ်စရာနေရာတစ်ခုအဖြစ် အသုံးပြုနိုင်မယ့် multi-VM home lab တစ်ခုကို တည်ဆောက်ဖို့ပါ။
လိုအပ်တဲ့ Tools တွေ
Category | Tools / Version | Purpose |
Host OS | Windows 11 | Your main workstation |
Hypervisor | VMware Workstation Pro | Virtual machine management |
Guest OS | Ubuntu 24.04 LTS | Lightweight, stable Linux base |
Utilities | Git, curl, vim/nano, net-tools | Basic administration |
Optional | Excalidraw / Draw.io | Diagram ရေးဆွဲရန် |
Step-by-Step Setup
1. Create the Virtual Machines
VM Name | Role | CPU | RAM | Disk | OS |
---|---|---|---|---|---|
devops-controller | Ansible + Terraform control node | 2 vCPU | 4 GB | 40 GB | Ubuntu 24.04 |
ci-server | Jenkins + Git runner | 2 vCPU | 4 GB | 40 GB | Ubuntu 24.04 |
k8s-lab | Future Kubernetes cluster node | 4 vCPU | 6 GB | 60 GB | Ubuntu 24.04 |
2. Network Design
Use Host-only + NAT networks:
vmnet1
→ internal (cluster traffic အတွက်)vmnet8
→ NAT (internet ချိတ်ဆက်ဖို့)
Assign static IPs in192.168.56.0/24
range.
Example /etc/netplan/00-installer-config.yaml
:
network:
ethernets:
ens33:
dhcp4: no
addresses: [192.168.56.10/24]
gateway4: 192.168.56.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
version: 2
3. Base System Setup
ဒီ command တွေကို VM အားလုံးမှာ run ပါ။
sudo apt update && sudo apt upgrade -y
sudo apt install git curl vim net-tools unzip htop -y
hostname ကို သတ်မှတ်ပါ။
sudo hostnamectl set-hostname devops-controller
4. Enable SSH & Key-Based Access
sudo apt install openssh-server -y
ssh-keygen -t ed25519
ssh-copy-id user@192.168.56.11
အခုဆိုရင် controller ကနေ တခြား VM တွေကို password မလိုပဲ ချိတ်ဆက်နိုင်ပါပြီ။
5. Create Git Repository for Documentation
mkdir ~/cloudobsession-lab && cd ~/cloudobsession-lab
git init
echo "# Cloud Obsession Tech - DevOps Lab" > README.md
git add . && git commit -m "Initial lab setup"
Diagram: Excalidraw သို့မဟုတ် Draw.io နဲ့ ဖန်တီးပါ
3 VMs connected via internal network
One outbound NAT link
Controller pushing configuration via SSH
Store it as /assets/lab-network.excalidraw.
Expected Output
3 Ubuntu VMs reachable via SSH
Static network confirmed via ping
Git repo initialized for documentation
What You Learned
VM provisioning basics
Static network and SSH configuration
Version-controlled documentation setup
အပိုင်း ၂: “CI/CD ကို အစကနေ စပြီး တည်ဆောက်မယ် – Jenkins + GitHub ကို ပေါင်းစပ်မယ်”
ပထမဆုံး build နဲ့ Docker push ကို automate လုပ်ကြည့်မယ်။