AZ-400 CHƯƠNG 19 Intermediate 2 Labs Ngày tạo: 22/05/2026

Containers: Docker, ACR, AKS, ACA

Dockerfile, ACR, AKS, Container Apps. Ưu tiên thực hành CLI; nếu có thao tác giao diện sẽ có thêm Cách 02 — GUI/Portal.

Thông tin thực hành

Ngày tạo bài: 22/05/2026
Cấp độ: Intermediate
Nhóm nội dung: AZ-400
Số lab: 2
Ưu tiên: CLI trước, GUI/Portal là cách 02 nếu phù hợp
Hệ điều hành: Windows 11, WSL2 Ubuntu, Linux, macOS tùy lab

Mục tiêu học tập

  • Nắm được mục đích và vai trò của Containers: Docker, ACR, AKS, ACA trong lộ trình AZ-400.
  • Thực hành được bằng CLI, biết kiểm tra log/output và biết cleanup.
  • Biết khi nào cần dùng GUI/Portal và cách đối chiếu với CLI.
  • Áp dụng được vào môi trường doanh nghiệp với bảo mật, audit và vận hành rõ ràng.

Lý thuyết gắn gọn

Tổng quan Containers: Docker, ACR, AKS, ACA

Nội dung này giúp người học triển khai containers: docker, acr, aks, aca theo hướng thực tế, có thể áp dụng vào pipeline, cloud platform hoặc quy trình vận hành doanh nghiệp.

Khi nào dùng?

Dùng khi cần chuẩn hóa thao tác, giảm lỗi thủ công, tăng khả năng kiểm soát, audit và tự động hóa trong vòng đời phần mềm.

Rủi ro thường gặp

Rủi ro thường gặp là cấu hình thủ công, thiếu kiểm soát quyền, không có rollback, không có log/alert, hoặc thiếu tài liệu vận hành.

Chuẩn thực hành

Ưu tiên Infrastructure as Code, pipeline as code, least privilege, traceability, monitoring, cost control và security gate sớm trong quy trình.

Kết quả mong muốn

Sau chương này, người học phải tạo được artifact hoặc cấu hình chạy thật, kiểm tra được kết quả, biết cleanup và biết cách áp dụng vào môi trường doanh nghiệp.

Thuật ngữ cần nhớ

Thuật ngữÝ nghĩa
Tổng quan Containers: Docker, ACR, AKS, ACANội dung này giúp người học triển khai containers: docker, acr, aks, aca theo hướng thực tế, có thể áp dụng vào pipeline, cloud platform hoặc quy trình vận hành doanh nghiệp.
Khi nào dùng?Dùng khi cần chuẩn hóa thao tác, giảm lỗi thủ công, tăng khả năng kiểm soát, audit và tự động hóa trong vòng đời phần mềm.
Rủi ro thường gặpRủi ro thường gặp là cấu hình thủ công, thiếu kiểm soát quyền, không có rollback, không có log/alert, hoặc thiếu tài liệu vận hành.
Chuẩn thực hànhƯu tiên Infrastructure as Code, pipeline as code, least privilege, traceability, monitoring, cost control và security gate sớm trong quy trình.
Kết quả mong muốnSau chương này, người học phải tạo được artifact hoặc cấu hình chạy thật, kiểm tra được kết quả, biết cleanup và biết cách áp dụng vào môi trường doanh nghiệp.

Ghi chú áp dụng thực tế doanh nghiệp

  • Không triển khai production nếu chưa có kiểm soát quyền, log, monitoring và rollback.
  • Mọi cấu hình quan trọng nên được lưu bằng code: YAML, Bicep, Terraform, Helm, Kustomize hoặc policy.
  • Luôn có owner, naming convention, tags, cost center và tài liệu vận hành.
  • Không hard-code secret. Ưu tiên OIDC, managed identity, workload identity hoặc Key Vault.
  • Lab có CLI và GUI nhằm giúp học viên hiểu cả tự động hóa lẫn giao diện vận hành thực tế.

Bài tập lab step-by-step

LAB-037 CLI Azure Portal Linux/macOS Terminal PowerShell CLI Docker Desktop

Build và push image lên ACR

Nền tảng thực hành: CLI, Azure Portal, Linux/macOS Terminal, PowerShell, CLI, Docker Desktop

Terminal: PowerShell 7 hoặc Bash/Linux Terminal; macOS Terminal nếu dùng macOS

Phiên bản / ghi chú:

  • Ngày tạo bài: 22/05/2026
  • Git 2.40+
  • VS Code latest stable
  • kubectl phù hợp version AKS
  • Helm 3.x
  • Kubernetes 1.29+
  • Docker Desktop latest
  • Syft/Grype latest
  • Cosign 2.x+
Cách 01 — CLI ưu tiên
  1. Mở terminal có `kubectl` và quyền truy cập cluster lab.
  2. Kiểm tra context: `kubectl config current-context`.
  3. Tạo namespace lab nếu cần: `kubectl create ns devops-lab`.
  4. Tạo hoặc mở file manifest/Helm/Kustomize theo lab.
  5. Apply cấu hình bằng `kubectl apply`, `helm upgrade --install` hoặc `kubectl kustomize`.
  6. Kiểm tra pod: `kubectl get pods -n devops-lab`.
  7. Kiểm tra event: `kubectl get events -n devops-lab --sort-by=.lastTimestamp`.
  8. Kiểm tra log: `kubectl logs -n devops-lab deploy/<deployment-name>`.
  9. Sửa manifest nếu lỗi và apply lại.
  10. Cleanup namespace hoặc release sau khi lab xong.
CLI mẫu / gợi ý lệnh
Mở terminal có `kubectl` và quyền truy cập cluster lab.
Kiểm tra context: `kubectl config current-context`.
Tạo namespace lab nếu cần: `kubectl create ns devops-lab`.
Apply cấu hình bằng `kubectl apply`, `helm upgrade --install` hoặc `kubectl kustomize`.
Kiểm tra kết quả

Hoàn thành build và push image lên acr và có bằng chứng kiểm tra: log, screenshot, pipeline run, resource hoặc output CLI.

Cleanup

Xóa tài nguyên lab không dùng, xóa secret/token demo, dọn branch/release/resource group để tránh chi phí và rủi ro.

LAB-038 CLI Azure Portal Linux/macOS Terminal PowerShell CLI Docker Desktop

Deploy Azure Container Apps

Nền tảng thực hành: CLI, Azure Portal, Linux/macOS Terminal, PowerShell, CLI, Docker Desktop

Terminal: PowerShell 7 hoặc Bash/Linux Terminal; macOS Terminal nếu dùng macOS

Phiên bản / ghi chú:

  • Ngày tạo bài: 22/05/2026
  • Git 2.40+
  • VS Code latest stable
  • Azure CLI 2.x latest
  • Az PowerShell 12.x+
  • kubectl phù hợp version AKS
  • Helm 3.x
  • Kubernetes 1.29+
  • Docker Desktop latest
  • Syft/Grype latest
  • Cosign 2.x+
Cách 01 — CLI ưu tiên
  1. Mở terminal có `kubectl` và quyền truy cập cluster lab.
  2. Kiểm tra context: `kubectl config current-context`.
  3. Tạo namespace lab nếu cần: `kubectl create ns devops-lab`.
  4. Tạo hoặc mở file manifest/Helm/Kustomize theo lab.
  5. Apply cấu hình bằng `kubectl apply`, `helm upgrade --install` hoặc `kubectl kustomize`.
  6. Kiểm tra pod: `kubectl get pods -n devops-lab`.
  7. Kiểm tra event: `kubectl get events -n devops-lab --sort-by=.lastTimestamp`.
  8. Kiểm tra log: `kubectl logs -n devops-lab deploy/<deployment-name>`.
  9. Sửa manifest nếu lỗi và apply lại.
  10. Cleanup namespace hoặc release sau khi lab xong.
CLI mẫu / gợi ý lệnh
Mở terminal có `kubectl` và quyền truy cập cluster lab.
Kiểm tra context: `kubectl config current-context`.
Tạo namespace lab nếu cần: `kubectl create ns devops-lab`.
Apply cấu hình bằng `kubectl apply`, `helm upgrade --install` hoặc `kubectl kustomize`.
Cách 02 — GUI / Portal
  1. Mở Azure Portal hoặc Azure DevOps trên trình duyệt.
  2. Chọn đúng subscription/project lab.
  3. Tìm service tương ứng với lab bằng thanh Search.
  4. Tạo hoặc mở resource cần cấu hình.
  5. Điền thông tin theo naming convention lab.
  6. Mở tab cấu hình liên quan: Networking, Identity, Deployment, Monitoring hoặc Policies.
  7. Bấm Review + Create hoặc Save.
  8. Mở Overview/Activity log để kiểm tra trạng thái.
  9. Ghi lại ảnh chụp màn hình kết quả.
  10. Xóa resource lab nếu không dùng.
Kiểm tra kết quả

Hoàn thành deploy azure container apps và có bằng chứng kiểm tra: log, screenshot, pipeline run, resource hoặc output CLI.

Cleanup

Xóa tài nguyên lab không dùng, xóa secret/token demo, dọn branch/release/resource group để tránh chi phí và rủi ro.

Câu hỏi ôn tập

  1. Trong chương 19, phần nào cần tự động hóa bằng pipeline/workflow?
  2. Nếu áp dụng vào môi trường production, rủi ro bảo mật lớn nhất là gì?
  3. Lab nào cần CLI? Lab nào cần Portal/GUI? Vì sao?
  4. Bạn sẽ kiểm tra thành công bằng log, output hay dashboard nào?
  5. Cleanup cần làm gì để tránh chi phí và rủi ro?
Zalo