Kho lưu trữ mã nguồn các kịch bản thực hành tương tác (Interactive Scenarios) trên nền tảng Killercoda, được thiết kế chuyên sâu cho lộ trình đào tạo kỹ sư DevOps, SRE và Cloud Systems.
Tất cả các bài lab đều chạy trực tiếp trên môi trường ảo hóa Ubuntu, tích hợp cơ chế tự động hóa khởi tạo môi trường ngầm (Background Automation) và hệ thống script tự động chấm điểm (Automated Verification).
| Mã Lab | Thư Mục | Công Nghệ Chính | Trọng Tâm Kiến Thức | Thời Lượng |
|---|---|---|---|---|
| Khởi Động | linux-terminal-navigation/ |
Linux CLI, Bash, FHS, Navigation | Làm chủ Terminal, giải mã Prompt, điều hướng FHS (cd, pwd), quản lý tệp tin (mkdir -p, touch, cp, mv, rm) |
30-35 phút |
| Thao Tác Tệp | linux-file-operations/ |
Linux CLI, Files & Directories | Khởi tạo cấu trúc dự án đa tầng (mkdir -p, touch), sao chép/di chuyển/xóa (cp, mv, rm), đọc và theo dõi log (cat, less, head, tail -f) |
30-35 phút |
| Pipe & Search | linux-pipe-redirect-search/ |
Linux CLI, Streams, Pipes, find, grep | 3 luồng stdin/stdout/stderr, chuyển hướng (>, 2>, &>), đường ống |, tìm kiếm find và grep -rn |
30-35 phút |
| Lab 1 | lab1-tcpip-dns/ |
Linux Networking, iproute2, dig, DNS |
Mô hình TCP/IP 4 tầng, Subnetting & CIDR, Routing Table, phân tích luồng truy vấn DNS | 35-40 phút |
| Lab 2 | lab2-http-ssl-nginx/ |
Nginx, OpenSSL, TLS 1.3, X.509 | Giao thức HTTP/HTTPS, bắt tay TLS 1.3 Handshake, SSL Termination, phân tích chứng chỉ số | 35-40 phút |
| Lab 3 | lab3-ssh-firewall/ |
OpenSSH, UFW Firewall, Ed25519 | SSH Hardening (đổi cổng, tắt mật khẩu), mã hóa đường hầm SSH Tunneling, tường lửa UFW | 35-40 phút |
| Lab 4 | lab4-nginx-lb/ |
Nginx Reverse Proxy, wrk, Python |
Thuật toán cân bằng tải (Round Robin, Least Conn, IP Hash), Upstream Connection Pooling | 35-40 phút |
| Lab 5 | lab5-server-monitoring/ |
Bash Shell, /proc, Webhook, Cron |
Giám sát tài nguyên Linux (CPU, RAM, Disk), đánh giá ngưỡng, bắn cảnh báo Webhook JSON | 35-40 phút |
| Lab 6 | lab6-git-internals-hooks/ |
Git CLI, Git Internals, Shell Hooks | 3 trạng thái Git, cấu trúc Git Objects (Blob, Tree, Commit), Git Hooks, khôi phục bằng Reflog | 35-40 phút |
| Lab 7 | lab7-git-conflicts-pr/ |
Git Bare Repo, Trunk-Based, Rebase | Quản lý nhánh tập trung, giải quyết xung đột 3-Way Merge (zdiff3), Rebase và Squash PR |
35-40 phút |
| Lab 8 | lab8-postgres-redis-flyway/ |
PostgreSQL 15, Redis 7, Flyway 9 | Kết nối an toàn qua biến môi trường (.env), Connection Pooling, Flyway Migration, Cache-Aside | 35-40 phút |
| Lab 9 | lab9-docker-cli-fundamentals/ |
Docker CLI, Image Layers, overlay2, CoW |
Tải và phân tích Image Layers, SHA256 digest, run -it, exec -it, cp, diff, commit |
35-40 phút |
| Lab 10 | lab10-runtime-logs-graceful-shutdown/ |
Docker Runtime, cgroups, OOM Killer, Signals | Vòng đời container, tham số runtime, giới hạn CPU/RAM, Log Rotation, kiểm thử Graceful Shutdown | 35-40 phút |
| Lab 11 | lab11-dockerfile-multistage-security/ |
Dockerfile, Multi-stage, BuildKit, Non-Root | Tối ưu layer cache, chống cache busting, Multi-stage build giảm 95% dung lượng, phân quyền non-root (UID 10001) | 35-40 phút |
| Lab 12 | lab12-cloud-vpc-vm-sg/ |
AWS CLI, LocalStack, Docker, VPC, EC2, Security Groups | Xây dựng hạ tầng mạng VPC, phân vùng Subnet, cấu hình Security Groups, triển khai EC2 và kết nối SSH | 40-45 phút |
| Lab 13 | lab13-cloud-alb-asg/ |
AWS CLI, LocalStack, Nginx, ALB, Auto Scaling, CloudWatch | Launch Template, Auto Scaling Group (min/max/desired), ALB + Target Group + Health Check, scale-out | 50-55 phút |
| Lab 14 | lab14-cloud-finops/ |
AWS CLI, LocalStack, Python, Cost Allocation Tags, Budgets | Gắn Tags phân bổ chi phí, thiết lập Budget Alerts, phân tích Cost & Usage Report, phát hiện idle resources | 35-40 phút |
| Lab 15 | lab15-docker-volume-network/ |
Docker CLI, Named Volume, Bridge Network, Embedded DNS, Redis | Khởi tạo Named Volume lưu trữ dữ liệu bền vững, cấu hình Custom Bridge Network, kết nối đa tầng và cô lập mạng | 35-40 phút |
| Lab 16 | lab16-cloud-terraform-cli/ |
Terraform CLI, AWS Provider, LocalStack, IaC, HCL | Khởi tạo hạ tầng Cloud chuẩn IaC (VPC, Subnet, Security Group, EC2), làm chủ vòng đời init/plan/apply/destroy, quản trị state file | 40-45 phút |
| Lab 17 | lab17-cloud-terraform-modules-workspaces/ |
Terraform Modules, Workspaces, LocalStack, Multi-Env | Đóng gói Child Modules tái sử dụng (VPC, Compute), cô lập trạng thái đa môi trường bằng Workspaces và file biến môi trường .tfvars | 45-50 phút |
| Lab 18 | lab18-cloud-terraform-remote-state-import/ |
S3 Remote Backend, DynamoDB Lock, State Recovery, Import | Chuyển đổi Remote State S3 + DynamoDB Locking, xử lý kẹt khóa, can thiệp state mv/rm và import hạ tầng với khối import {} | 45-50 phút |
| Lab 19 | lab19-k8s-cluster-nodes/ |
Kubernetes, Kubeadm 2 Nodes, kubectl, Node Management | Khám phá kubeconfig, đánh giá điều kiện sức khỏe Node (Conditions & Allocatable), gắn nhãn điều phối Pod và bảo trì Cordon/Uncordon | 35-40 phút |
| Lab 20 | lab20-k8s-pod-deployment-probes/ |
Pod, Deployment, ReplicaSet, ConfigMap, Secret, Probes | Đóng gói Pod với giới hạn tài nguyên (Requests/Limits), tự phục hồi & scale với Deployment, nạp ConfigMap/Secret và kiểm tra sức khỏe Liveness/Readiness | 40-45 phút |
| Lab 21 | lab21-k8s-service-ingress-namespace-rbac/ |
Namespace, ClusterIP, NodePort, Ingress, RBAC, ServiceAccount | Phân vùng tài nguyên Namespace, cân bằng tải ClusterIP & NodePort, định tuyến L7 với Ingress và kiểm soát truy cập phân quyền RBAC | 45-50 phút |
| Lab 22 | lab22-k8s-storage-statefulset-hpa-helm/ |
StorageClass, PVC, StatefulSet, Headless Service, HPA, Helm | Cấp phát động StorageClass & PVC, triển khai cơ sở dữ liệu StatefulSet, tự động mở rộng theo tải với HPA và đóng gói ứng dụng bằng Helm Chart | 45-50 phút |
| Lab 23 | lab23-cicd-pipeline-test-package/ |
GitHub Actions, act, Go test, Docker Registry | Pipeline as Code, quality gate (gofmt, vet, test, coverage 70%), Fail-Fast, đóng gói image gắn tag Git SHA, publish registry, smoke test & rollback | 45-50 phút |
- Giải mã cấu trúc Terminal Prompt (
user@host:path$), phân biệt tài khoản thường ($) và Root (#), nắm vững cú pháp lệnh Linux tiêu chuẩn. - Thẩm tra danh tính phiên làm việc tức thì bằng
whoami,hostname,id,date,uname -avà các biến môi trường$USER,$HOME,$PWD. - Làm chủ bản đồ cây thư mục chuẩn FHS (
/,/etc,/var/log,/tmp), phân biệt đường dẫn Tuyệt đối vs Tương đối và các ký hiệu đặc biệt (.,..,~,-). - Khởi tạo kiến trúc thư mục đa cấp với
mkdir -p(Brace Expansion), tạo tệp vớitouch, sao chép đệ quycp -r, di chuyển/đổi tênmv, xóa dữ liệu vớirmvà trực quan hóa vớitree.
- Khởi tạo kiến trúc dự án đa tầng với
mkdir -p(Brace Expansion), tạo tệp và ghi dữ liệu vớitouch,echo >và Here-Doc. - Thực hiện sao lưu giữ thuộc tính (
cp -p), sao chép đệ quy (cp -r), di chuyển và đổi tên tệp/thư mục (mv). - Dọn dẹp tệp tin an toàn với
rmvàrmdir, phòng ngừa các sự cố rủi ro dữ liệu. - Đọc, kiểm tra và phân tích tệp nhật ký ứng dụng với bộ công cụ
cat -n,less,head,tail,wc -lvà giám sát thời gian thựctail -f.
- Quản trị 3 luồng dữ liệu chuẩn
stdin(0),stdout(1),stderr(2) và kỹ thuật chuyển hướng dữ liệu với>,>>,2>,2>&1,/dev/null. - Xây dựng chuỗi xử lý dữ liệu tự động với đường ống Pipe (
|) kết hợp các bộ lọcgrep,wc,sort,uniqvà ngã ba đường ốngtee. - Thực hành tìm kiếm tệp tin theo thuộc tính bằng
findvà truy vết nội dung/chuỗi bí mật đệ quy vớigrep -rn.
- Tính toán phân chia mạng con (Subnetting, CIDR, Network ID, Broadcast IP) cho VPC và mạng container.
- Phân tích bảng định tuyến và giao diện mạng Linux bằng công cụ
iproute2(ip addr,ip route). - Kiểm tra cổng và trạng thái kết nối mạng với
ssvànc(Netcat). - Chẩn đoán chuỗi phân giải DNS từ local cache tới Authoritative Server bằng
dig +trace.
- Phân tích cấu trúc bản tin HTTP/1.1 và các trường Header bảo mật quan trọng.
- Khám phá tiến trình bắt tay TLS 1.3 Handshake (1-RTT) và trao đổi khóa bất đối xứng.
- Tự tạo chứng chỉ số self-signed X.509 bằng OpenSSL và cấu hình SSL Termination trên Nginx.
- Thiết lập điều hướng tự động từ HTTP (Port 80) sang HTTPS (Port 443) bằng mã trạng thái 301.
- Gia cố bảo mật dịch vụ OpenSSH: Đổi cổng mặc định, vô hiệu hóa đăng nhập bằng mật khẩu, chỉ cho phép khóa Ed25519.
- Thiết lập đường hầm SSH Local Port Forwarding (
-L) để truy cập dịch vụ nội bộ không mở ra Internet. - Cấu hình tường lửa UFW theo nguyên tắc phòng thủ đa lớp (Defense in Depth) và hạn chế tần suất (
ufw limit).
- Cấu hình Nginx đóng vai trò Reverse Proxy chuyển tiếp lưu lượng với đầy đủ các header định danh client.
- Triển khai và so sánh 3 thuật toán cân bằng tải: Round Robin, Least Connections và IP Hash.
- Thiết lập Upstream Connection Pooling (
keepalive) để tái sử dụng socket TCP, giảm tải bắt tay và tăng RPS. - Đo lường hiệu năng thực tế bằng công cụ
wrktrước và sau khi kích hoạt Connection Pooling.
- Thu thập số liệu hiệu năng Linux trực tiếp từ kernel (
/proc/stat,/proc/meminfo,df). - Xây dựng script giám sát
monitor.shvới cơ chế đánh giá ngưỡng linh hoạt (WARNING, CRITICAL). - Tích hợp gửi cảnh báo tự động định dạng JSON qua HTTP Webhook (hỗ trợ Slack, Discord, Mock Receiver).
- Lập lịch tự động hóa 24/7 với Cron và quản lý xoay vòng file nhật ký (Log Rotation).
- Bóc tách bản chất cấu trúc lưu trữ nội tại của Git: Blob, Tree, Commit và cơ chế mã băm SHA-1.
- Tự động hóa kiểm tra chất lượng mã nguồn bằng
pre-commithook (chặn lộ secret, format code). - Chuẩn hóa thông điệp commit theo Conventional Commits bằng hook
commit-msg. - Cứu hộ dữ liệu và khôi phục các commit bị mất sau thao tác
git reset --hardthông qua Git Reflog.
- Áp dụng mô hình phân nhánh Trunk-Based Development với Central Bare Repository thực tế.
- Khám phá và xử lý xung đột hợp nhất đa file bằng kỹ thuật 3-Way Merge và chế độ hiển thị
zdiff3. - Vận dụng quy trình Rebase từng bước (
git rebase --continue) để giữ lịch sử commit thẳng hàng. - Thực hiện đóng gói mã nguồn tính năng bằng kỹ thuật Squash & Merge chuẩn mực trước khi đưa vào sản xuất.
- Quản lý cấu hình kết nối an toàn qua biến môi trường (
.env,DATABASE_URL,REDIS_URL) theo chuẩn 12-Factor App. - Thiết lập và phân tích cơ chế Connection Pooling (
DB_POOL_MIN,DB_POOL_MAX) giúp tối ưu tài nguyên mạng. - Quản lý phiên bản CSDL tự động với Flyway (Migration scripts V1, V2) và kiểm tra tính toàn vẹn (Checksum, Foreign Key).
- Triển khai mô hình bộ nhớ đệm Cache-Aside với Redis và đo lường độ trễ truy vấn thực tế.
Lab 9: Nhập Môn Docker CLI, Cấu Trúc Image Layers & Tương Tác Container (lab9-docker-cli-fundamentals/)
- Khám phá cơ chế phân tầng (Image Layers) bất biến và mã băm SHA256 digest của Docker Image.
- Sử dụng thành thạo
docker pull,docker history,docker inspectvà quản lý phiên bản vớidocker tag. - Phân biệt và làm chủ
docker run -it(môi trường mới) vàdocker exec -it(thâm nhập container đang chạy nền). - Sao chép dữ liệu hai chiều giữa Host và Container với
docker cp, truy vết thay đổi file vớidocker diff. - Thấu hiểu cơ chế Copy-on-Write (CoW) của storage driver
overlay2và đóng gói snapshot bằngdocker commit.
Lab 10: Cấu Hình Tài Nguyên Runtime, Quản Lý Log Container & Graceful Shutdown (lab10-runtime-logs-graceful-shutdown/)
- Quản trị vòng đời container (
create,start,stop,pause,rm) và nạp biến môi trường an toàn từ--env-file. - Thiết lập giới hạn phần cứng với cgroups Linux (
--cpus 0.5,--memory 256m,--memory-swap 256m) và chính sách phục hồi--restart unless-stopped. - Thực nghiệm kích hoạt Linux OOM Killer (mã thoát 137,
OOMKilled: true) khi tiến trình bị rò rỉ bộ nhớ. - Cấu hình tự động xoay vòng log (Log Rotation:
--log-opt max-size=2m --log-opt max-file=3) chống nguy cơ đầy 100% dung lượng đĩa máy chủ. - Xử lý bài toán PID 1 (Exec form vs Shell form), bắt tín hiệu
SIGTERM (15)và kiểm thử quy trình Graceful Shutdown rút cạn kết nối an toàn (ExitCode: 0).
Lab 11: Thiết Kế Dockerfile Multi-stage, Tối Ưu Cache & Phân Quyền Non-Root (lab11-dockerfile-multistage-security/)
- Phân tích cơ chế băm nội dung của Docker BuildKit, hiện tượng Cache Busting và thiết lập file
.dockerignore. - Tối ưu hóa thứ tự các chỉ thị: nạp file mô tả dependencies trước, source code sau để đạt 100% tỷ lệ Cache Hit.
- Áp dụng kỹ thuật Multi-stage build tách bạch môi trường Builder và Runtime, giảm dung lượng image từ hơn 300MB xuống chỉ còn xấp xỉ 15MB.
- Sử dụng các cờ biên dịch tối ưu kích thước file nhị phân tĩnh (
CGO_ENABLED=0,-ldflags="-s -w"). - Triển khai nguyên tắc đặc quyền tối thiểu (Least Privilege), tạo user/group non-root và chạy tiến trình dưới quyền
USER 10001:10001đạt chuẩn an toàn Kubernetes và CIS Docker Benchmark.
- Khởi tạo kiến trúc mạng cô lập VPC
10.0.0.0/16, phân vùng Public Subnet và Private Subnet bằng AWS CLI. - Thiết lập Internet Gateway (IGW) và cấu hình bảng định tuyến Route Table cho phép truy cập Internet.
- Cấu hình tường lửa Security Groups đa tầng (web-sg mở port 80/443, db-sg chỉ mở port 5432 tham chiếu từ web-sg).
- Khởi tạo SSH Key Pair, chạy máy ảo EC2 và dọn dẹp tài nguyên (FinOps).
- Tạo Launch Template chuẩn hóa cấu hình máy chủ kèm User Data khởi chạy ứng dụng.
- Triển khai cụm máy chủ tự động mở rộng Auto Scaling Group (ASG) đa vùng sẵn sàng cao.
- Cấu hình Application Load Balancer (ALB) và Target Group kèm kiểm tra sức khỏe (Health Check).
- Giả lập mở rộng quy mô (Scale-Out) và thực hành quy trình dọn dẹp tài nguyên.
- Gắn Cost Allocation Tags lên tài nguyên Cloud theo chuẩn quản trị (Project, Environment, CostCenter).
- Thiết lập hạn mức chi phí AWS Budgets và cấu hình cảnh báo ngưỡng (Budget Alerts).
- Phân tích báo cáo chi phí Cost & Usage Report (CUR) đa chiều bằng script tự động.
- Phát hiện tài nguyên lãng phí (idle resources), lập báo cáo FinOps và thực thi hủy máy ảo bằng AWS CLI.
Lab 15: Docker Named Volume, Custom Bridge Network & Kết Nối Container (lab15-docker-volume-network/)
- Khởi tạo và quản trị Named Volume, kiểm chứng cơ chế lưu trữ dữ liệu bền vững qua vòng đời container.
- Tạo Custom Bridge Network với dải Subnet quy hoạch chuẩn và khám phá cơ chế Embedded DNS (
127.0.0.11). - Triển khai mô hình ứng dụng đa tầng (Redis DB + Web Client) kết nối nội bộ an toàn bằng Container Name.
- Kiểm thử nguyên tắc cô lập mạng (Network Isolation) và thực hành kết nối mạng động (
docker network connect).
- Tiếp cận tư duy Declarative Infrastructure as Code (IaC) và cấu hình AWS Provider trỏ tới LocalStack.
- Lập trình mạng VPC, Public/Private Subnet, Internet Gateway và tham số hóa cấu hình với Variables & Outputs.
- Làm chủ chu trình kinh điển:
terraform init,validate,plan -out,applyvà mổ xẻ file trạng tháiterraform.tfstate. - Thực hiện cập nhật hạ tầng tại chỗ (In-Place Drift Update), kiểm chứng tính Idempotent và dọn dẹp an toàn bằng
terraform destroy.
Lab 17: Đóng Gói Terraform Module & Quản Lý Đa Môi Trường Workspaces (lab17-cloud-terraform-modules-workspaces/)
- Phân tách và đóng gói mã nguồn thành các Child Modules tái sử dụng (
modules/vpc,modules/compute). - Thiết lập hợp đồng giao tiếp chuẩn giữa các module qua
variables.tfvàoutputs.tf. - Quản lý và cô lập trạng thái hạ tầng đa môi trường (
dev,prod) bằng Terraform Workspaces. - Cấu hình linh hoạt quy mô máy ảo và IP range tương ứng theo từng môi trường với các file
.tfvars.
Lab 18: Remote Backend, Khôi Phục Sự Cố State & Import Hạ Tầng (lab18-cloud-terraform-remote-state-import/)
- Chuyển đổi trạng thái lưu trữ hạ tầng sang Remote Backend AWS S3 kết hợp DynamoDB State Locking.
- Xử lý sự cố kẹt khóa và can thiệp state nâng cao (
terraform force-unlock,terraform state mv,terraform state rm). - Đưa tài nguyên tạo thủ công ngoài luồng vào quản lý bằng lệnh
terraform importtruyền thống. - Sử dụng khối khai báo hiện đại
import {}(từ Terraform 1.5+) tự động sinh mã HCL và kiểm chứng tính đồng bộ 3 bên.
- Khám phá kiến trúc cụm K8s giữa Control Plane và Worker Nodes cùng cấu trúc tệp xác thực
~/.kube/config. - Phân tích và đánh giá trạng thái vận hành của Node qua các điều kiện sức khỏe và tỷ lệ tài nguyên khả dụng.
- Quản trị siêu dữ liệu của Node bằng Labels và Annotations phục vụ việc phân loại và định tuyến Pod có điều kiện.
- Thực thi quy trình bảo trì máy chủ an toàn trong môi trường Production thông qua các lệnh điều phối nút mạng.
Lab 20: Đóng Gói Pod, Triển Khai Deployment, Nạp ConfigMap/Secret & Cấu Hình Probes (lab20-k8s-pod-deployment-probes/)
- Khởi tạo Pod chuẩn khai báo YAML, áp dụng kỹ thuật
--dry-run=clientvà cấu hình hạn mức tài nguyên tính toán (Requests & Limits) phòng tránh OOMKilled. - Quản trị vòng đời ứng dụng với Deployment và ReplicaSet, thực nghiệm cơ chế tự phục hồi (Self-healing) và mở rộng quy mô linh hoạt (Scale Out/In).
- Phân tách cấu hình khỏi mã nguồn (Twelve-Factor App), bảo mật thông tin nhạy cảm với Secret và nạp biến môi trường động vào Pod.
- Thiết lập hệ thống giám sát sức khỏe container thông minh với Liveness Probe (tự restart) và Readiness Probe (kiểm soát điều phối traffic mạng).
Lab 21: Cấu Hình Service, Ingress, Phân Vùng Namespace & Phân Quyền RBAC (lab21-k8s-service-ingress-namespace-rbac/)
- Phân vùng logic tài nguyên cụm K8s với Namespace, cô lập không gian giữa các đội ngũ và môi trường triển khai.
- Cấu hình cân bằng tải nội bộ với Service kiểu ClusterIP và phơi bày cổng máy chủ ra mạng ngoài với NodePort.
- Thiết lập quy tắc định tuyến HTTP/HTTPS tầng 7 thông minh dựa trên đường dẫn URL (Path-based Routing) thông qua Ingress.
- Xây dựng ma trận kiểm soát quyền truy cập tối thiểu (Principle of Least Privilege) với ServiceAccount, Role, RoleBinding và kiểm thử với lệnh
kubectl auth can-i.
Lab 22: Cấp Phát Động StorageClass, Triển Khai StatefulSet, Cấu Hình HPA & Đóng Gói Helm Chart (lab22-k8s-storage-statefulset-hpa-helm/)
- Cấu hình cấp phát động bộ lưu trữ bền vững thông qua StorageClass và PersistentVolumeClaim (PVC), bảo toàn dữ liệu khi xóa Pod.
- Triển khai cụm cơ sở dữ liệu có trạng thái với StatefulSet, Headless Service và cơ chế tự động sinh ổ đĩa độc lập qua
volumeClaimTemplates. - Thiết lập tự động co giãn quy mô số lượng bản sao theo tải CPU thời gian thực bằng Horizontal Pod Autoscaler (HPA) và Metrics-Server.
- Đóng gói chuẩn hóa ứng dụng microservice thành Helm Chart, tham số hóa cấu hình qua Values và quản trị vòng đời phát hành ứng dụng.
Lab 23: Xây Dựng Pipeline CI/CD Cơ Bản — Kiểm Thử & Đóng Gói Ứng Dụng (lab23-cicd-pipeline-test-package/)
- Viết workflow GitHub Actions (Pipeline as Code) với trigger, job, step và chạy cục bộ bằng
acttrên runner container. - Thiết lập chuỗi quality gate: kiểm tra format
gofmt, phân tích tĩnhgo vet, unit test và ngưỡng coverage 70%. - Thực hành vòng Fail-Fast trên nhánh tính năng có lỗi: đọc log pipeline đỏ, sửa format và bug logic, rebase và merge an toàn vào
main. - Đóng gói Docker image bất biến với job phụ thuộc
needs, điều kiệnif, gắn tag Git SHA +latest, publish lên registry nội bộ và lưu artifact coverage. - Tự động smoke test image sau build, phát hành phiên bản mới và diễn tập rollback bằng tag SHA.
Mỗi thư mục bài lab được tổ chức theo tiêu chuẩn kịch bản của Killercoda:
labX-ten-bai-lab/
├── index.json # File cấu hình metadata kịch bản (tiêu đề, thời lượng, các bước)
├── background.sh # Script chạy ngầm khởi tạo môi trường (Docker, package, cấu hình)
├── foreground.sh # Script đồng bộ giao diện hiển thị trạng thái chờ môi trường
├── intro.md # Trang giới thiệu bài học, sơ đồ kiến trúc và mục tiêu
├── step1.md # Hướng dẫn lý thuyết và thử thách thực hành Bước 1
├── step1-verify.sh # Script tự động kiểm tra và chấm điểm Bước 1
├── step2.md # Hướng dẫn lý thuyết và thử thách thực hành Bước 2
├── step2-verify.sh # Script tự động kiểm tra và chấm điểm Bước 2
├── step3.md # Hướng dẫn lý thuyết và thử thách thực hành Bước 3
├── step3-verify.sh # Script tự động kiểm tra và chấm điểm Bước 3
├── finish.md # Trang chúc mừng, bảng tra cứu nhanh lệnh (Cheat Sheet)
└── architecture.svg # (Tùy chọn) Sơ đồ kiến trúc vector trực quan
- Đăng ký tài khoản trên Killercoda và kích hoạt chế độ Creator.
- Kết nối tài khoản GitHub chứa repository này với Killercoda.
- Tạo cấu trúc thư mục scenario hoặc để Killercoda đồng bộ tự động từ các thư mục
lab*. - Mỗi bài lab có thời lượng khuyến nghị là 35-40 phút trên nền tảng Ubuntu 22.04 LTS.
- Ngôn ngữ: Toàn bộ tài liệu hướng dẫn được biên soạn bằng tiếng Việt có dấu chuẩn xác.
- Phương pháp tiếp cận: Thực hành chủ động (DIY - Do It Yourself) không dùng thẻ thực thi tự động ở phần thử thách để học viên rèn luyện kỹ năng gõ lệnh trên terminal.
- Độ tin cậy: Tất cả script shell đều được kiểm định cú pháp nghiêm ngặt (
bash -n) và kiểm tra tính hợp lệ JSON (jq).