Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
AKS Namespace Migration + Azure DevOps DR Deployment (UK Environment)
#1

Overview

This document explains the complete process to:
  • Migrate Kubernetes namespace resources
  • Configure Azure DevOps pipeline for DR (UK)
  • Deploy application in new AKS cluster
  • Validate and troubleshoot issues

Step 1: Navigate to Project Directory

Code:
cd /home/aks-live/24x7/AKS-Prod/sadad-POS-Queue-Consumer
ls -ltr

Identify the folder:
pos-queue-consumer-fileshare/



Step 2: Go to Fileshare Directory

Code:
cd pos-queue-consumer-fileshare/
ls -ltr

Important files:
[list]
[*]pos-queue-consumer-storage-secret.yaml
[*]azure-file-pvc.yaml
[*]azure-file-sc.yaml
[/list]


Step 3: Update Storage Secret

Code:
vi pos-queue-consumer-storage-secret.yaml

Update:
data:
  azurestorageaccountkey: <BASE64_KEY>
  azurestorageaccountname: <BASE64_NAME>



Step 4: Verify Base64 Values

Code:
echo "<value>" | base64 -d


Step 5: Create Namespace

Code:
kubectl create ns sadad-online-pos-queue-consumer


Step 6: Apply Resources (Order Important)

Code:
1. Apply Secret
kubectl apply -f pos-queue-consumer-storage-secret.yaml

2. Apply Storage Class & PVC
kubectl apply -f azure-file-sc.yaml -f  azure-file-pvc.yaml



Step 7: Apply Remaining Secrets

Code:
cd ..

kubectl apply -f az-repo-dev-secret.yaml

kubectl apply -f pos-queue-consumer-env-azure-secrets.yaml \
              -f pos-queue-consumer-env-config-secrets.yaml \
              -f pos-queue-consumer-env-email-secrets.yaml \
              -f sadad-online-pos-queue-consumer-secrets.yaml



Step 8: Azure DevOps – Download Deployment File

Go to:
Repos → Sadad-POS-Queue-Consumer → manifests

Download:
deploy-live.yaml


Step 9: Create UK Deployment File

Rename:
deploy-live.yaml → deploy-live-uk.yaml

Update DB:
- name: DB_HOST
  value: <UK_DB_IP>


Step 10: Upload File to Repo

Upload to:
manifests/

Commit message:
Added deploy-live-uk for DR UK


Step 11: Clone Release Pipeline

Go to:
Pipelines → Releases → sadad-pos-queue-consumer
  • Click Edit
  • Clone Live Stage

Step 12: Rename Stage

Sadad-Live-Pos-Queue-Consumer-UK


Step 13: Configure Kubernetes Connection

Update:
  • Subscription: Sadad - Azure
  • Cluster: Sadad-Online-UK-AKS
  • Namespace: sadad-online-pos-queue-consumer
  • Service Connection: sadad-online-pos-queue-consumer-uk

Step 14: Update Deployment File Path

$(System.DefaultWorkingDirectory)/Sadad-POS-Queue-Consumer/drop/deploy-live-uk.yaml


Step 15: Update Print Tag Script

Replace:
deploy-live.yaml → deploy-live-uk.yaml


Step 16: Run Pipeline

After commit → pipeline triggers automatically

Step 17: Deploy Release

Go to Releases → Select new release
Click:
  • Deploy
  • Approve

Step 18: Verify Deployment

kubectl get pods -n sadad-online-pos-queue-consumer
kubectl logs <pod>


Common Issue: Volume Mount Error

Error:
MountVolume failed: No such file or directory

Fix:
az storage share create \
  --name pos-queue-logs \
  --account-name <storage_account> \
  --account-key <key>

Then restart pod:
kubectl delete pod <pod-name>


Final Validation

kubectl get pods

Expected:
Running


Summary

  1. Setup namespace
  2. Apply secrets + PVC
  3. Modify deployment YAML
  4. Update Azure DevOps pipeline
  5. Deploy via release
  6. Approve and validate

Best Practices
  • Always clone existing pipeline
  • Verify secrets before deployment
  • Keep naming consistent across environments
  • Validate storage before pod start

Migration Completed Successfully
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)