Đề cương khóa học
Mô-đun 1: Thiết Kế Vi Dịch Vụ
• Ranh giới Microservice tốt
• Sử dụng Thiết kế Lấy Miền (Domain Driven Design - DDD)
• Các lựa chọn thay thế cho Ranh Giới Miền Kinh Doanh (Biến động, Dữ liệu, Công nghệ, Tổ chức)
• Tách hệ thống Monolithic
• Phân tách sớm (Premature decomposition)
• Phân tách theo lớp (Decomposition By Layer)
• Sử dụng các mẫu phân tách (Strangler, Parallel Run, Feature Toggle)
• Các vấn đề về phân tách dữ liệu (Hiệu năng, Toàn vẹn, Giao dịch)
Mô-đun 2: Tối Ưu Hóa Docker và Runtime
• Chọn image cơ sở phù hợp
• Giảm thiểu số lượng layers
• Sử dụng build nhiều giai đoạn (multi-stage builds)
• Tối ưu hóa image (sắp xếp các đối số nhiều dòng, v.v.)
• Tận dụng cache build
• Khóa phiên bản image
• Tinh chỉnh phân bổ tài nguyên
• Các thực hành bảo mật container
• Cấu hình runtime cho hiệu năng
Mô-đun 3: Kubernetes & Chiến Lược Phát Hành
Tổng Quan Về Kubernetes Deployments
• Tạo và thực thi một bản triển khai ban đầu
• Các tùy chọn Deployment của Kubernetes
Thực Hiện Triển Khai Rolling Update
• Hiểu về Rolling Update
• Tạo và thực thi một Rolling Update
• Rollback lại Deployment
Thực Hiện Triển Khai Canary
• Hiểu về Triển Khai Canary
• Tạo và thực thi một Triển Khai Canary
Thực Hiện Triển Khai Blue-Green
• Hiểu về Triển Khai Blue-Green
• Tạo và thực thi một Triển Khai Blue-Green
Chạy Jobs và CronJobs
• Tạo Job và CronJob
Thực Hiện Các Tác Vụ Giám Sát và Khắc Phục Sự Cố
• Kỹ thuật khắc phục sự cố với kubectl
Mô-đun 4: Tự Động Hóa & Hiệu Quả Vận Hành
Sử Dụng Python Để Tự Động Hóa Các Tác Vụ Thường Xuyên Trong Kubernetes
• Sử dụng Python để thực hiện các thao tác hành chính trong Kubernetes
• Sử dụng Python để định nghĩa các đối tượng Cấu hình
• Sử dụng Python để tạo các đối tượng Deployment
• Theo dõi Các Sự Kiện Kubernetes bằng Python
• Co giãn một Deployment bằng Python
Hiểu Các Thách Thức Của Việc Tự Động Hóa Triển Khai
• Cấu hình khai báo (Declarative Configuration) với Kubernetes
• Quản lý tính toàn vẹn của Cấu hình
Sử Dụng Cách Tiếp Cận GitOps Để Tự Động Hóa Triển Khai
• Các Nguyên Tắc của GitOps
• Giới thiệu Flux
• Cài đặt Flux vào một Cluster Kubernetes
Cấu Hình Flux Cho Triển Khai Tự Động
• Sử dụng Thông Báo (Notifications)
• Cấu Trúc Kho Lưu Trữ Nguồn
Xử Lý Cập Nhật Ứng Dụng Với Image Automation
• Cập nhật Triển khai Ứng dụng với Flux
• Quét Repository Ảnh Container để tìm Tags
• Định nghĩa Chính sách cho việc chọn Image mới nhất
• Cấu hình Flux để thực hiện Các Bản Cập Nhật Image Tự Động
Mô-đun 5: Quan Sát Hệ Thống & Rõ Ràng Về Nguyên Nhân Gốc Rễ
Năng Lực Logging và Tracing Của Kubernetes
• Tại Sao Logging và Tracing Lại Quan Trọng
• Truy Cập Các Logs Trong Kubernetes
• Logs Của Pod và Container
• Logs của Control Plane
• Tài Nguyên Sử Dụng Của Nodes và Pods
Thu Thập Và Phân Tích Logs
• Tập trung hóa Logs (Log Aggregation)
• Trực quan hóa Logs
Distributed Tracing trong Kubernetes
• Distributed tracing là gì
• Sử dụng OpenTelemetry
• Các Công Cụ Distributed Tracing
• Instrumenting một Ứng dụng
• Sử dụng Tracing để Tìm Các Vấn Đề Hiệu Năng
Giám Sát Với Prometheus Và Grafana
• Các khái niệm về Observability
• Các Công cụ Giám sát
• Sử dụng Instrumentation của Prometheus
Các Trường Hợp Sử Dụng Nâng Cao Cho Logging
• Xử lý Logs
• Lọc và Làm giàu Logs (Filtering and Enriching the Logs)
• Event Sourcing
Mô-đun 6: Mô Phỏng Khủng Hoảng Cluster & Phản Ứng Sự Cố
• Hiểu các loại lỗi khác nhau trong môi trường cluster
• Mô phỏng Lỗi Nút (Node Failures)
• Kịch Bản Eviction Pod và Hết Tài Nguyên
• Các Vấn Đề Về Mạng
• Lỗi DNS để xử lý thời gian chờ của ứng dụng
• Mô phỏng Sự Cố API Server
• Mô phỏng lưu lượng truy cập cao cho sự ổn định hệ thống
• Sự cố Lưu trữ (Storage Failure)
• Lỗi Cấu hình
• Hiểu quy trình báo cáo sự cố
Mô-đun 7: AI Hỗ Trợ Khắc Phục Sự Cố
• Lợi ích của Generative AI cho Kubernetes
• Kiến trúc CLI của K8sGPT
• Cài đặt CLI K8sGPT
• Các Lệnh và Cách Sử Dụng K8sGPT
• Sử dụng Các Analyzers của K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer, v.v.)
• Phân tích Cluster bằng K8sGPT
• Phân Tích Các Vấn Đề Thời Gian Thực bằng K8sGPT
• Operator Trong Cluster Cho K8sGPT
Yêu cầu
- Kiến thức cơ bản về dòng lệnh Linux
- Kinh nghiệm phát triển ứng dụng hoặc quản trị hệ thống
- Làm quen với container (các khái niệm Docker)
- Hiểu biết cơ bản về Kubernetes (pods, deployments, services)
- Hiểu biết chung về kiến trúc phần mềm (ví dụ: APIs, dịch vụ)
Đối Tượng Hướng Tới:
- Kỹ sư DevOps
- Kỹ sư Đảm Bảo Tính Sẵn Sàng (Site Reliability Engineers - SREs)
- Lập trình viên Backend / Software Developers làm việc với vi dịch vụ
- Kỹ sư Cloud và Kỹ sư Nền Tảng (Platform Engineers)
-
Quản trị viên hệ thống đang chuyển đổi sang môi trường Kubernetes
Đánh giá (2)
Craig tham gia vào việc đào tạo một cách cực kỳ tích cực, luôn đảm bảo chúng tôi tập trung, điều chỉnh ví dụ phù hợp với công việc hàng ngày của chúng tôi và luôn cung cấp câu trả lời khi được hỏi, thậm chí nếu thông tin đó không có trong bài trình bày.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Khóa học - DevOps Foundation®
Dịch thuật bằng máy
Mức độ cam kết và kiến thức của người hướng dẫn cao
Jacek - Softsystem
Khóa học - DevOps Engineering Foundation (DOEF)®
Dịch thuật bằng máy