Danh sách bài viết trong series Ebooks
- Giới thiệu sách: The Phoenix Project
- Giới thiệu sách: The DevOps Handbook
- Giới thiệu sách: Accelerate – The Science of Lean Software and DevOps
- Giới thiệu sách: Docker Deep Dive
- Kubernetes in Action: Kỹ thuật điều phối và vận hành Container ở quy mô lớn
- Giới thiệu sách: Kubernetes Up & Running
- Infrastructure as Code (IaC): Chiến lược quản trị hạ tầng bằng mã nguồn trong kỷ nguyên Cloud
- Securing DevOps: Chiến lược bảo mật hiện đại cho hạ tầng Cloud và luồng CI/CD
- The DevOps Adoption Playbook: Chiến lược chuyển đổi DevOps cho doanh nghiệp đa hệ thống
- Site Reliability Engineering (SRE): Triết lý và thực thi vận hành hệ thống tại Google
Thông tin cơ bản về sách
- Tên sách: Kubernetes in Action
- Tác giả: Marko Lukša (Kỹ sư phần mềm tại Red Hat, chuyên gia về Kubernetes và OpenShift),.
- Nhà xuất bản: Manning Publications.
- Năm xuất bản: 2018.
- Định dạng: Sách chuyên khảo kỹ thuật, hướng dẫn thực hành.
Tổng quan nội dung và cấu trúc sách
Cuốn sách được chia thành 3 phần chính với tổng cộng 18 chương và các phụ lục, dẫn dắt người đọc từ những khái niệm cơ bản nhất đến các kỹ thuật vận hành nâng cao.
- Phần 1: Tổng quan (Overview): Giới thiệu về Docker và Kubernetes. Tác giả giải thích lý do tại sao chúng ta cần một hệ thống như Kubernetes trong bối cảnh chuyển dịch từ ứng dụng nguyên khối (monolithic) sang vi dịch vụ (microservices). Phần này cũng hướng dẫn thiết lập môi trường thực hành với Minikube hoặc Google Kubernetes Engine (GKE).
- Phần 2: Các khái niệm cốt lõi (Core Concepts): Đây là phần trọng tâm, đi sâu vào các đối tượng (resources) cơ bản của Kubernetes. Người đọc sẽ học về Pods (đơn vị cơ bản nhất), ReplicationControllers/ReplicaSets (quản lý bản sao), Services (khám phá dịch vụ), Volumes (lưu trữ), ConfigMaps/Secrets (cấu hình), Deployments (cập nhật ứng dụng) và StatefulSets (ứng dụng có trạng thái),,.
- Phần 3: Nâng cao (Beyond the Basics): Phần này đi sâu vào “nội tạng” của hệ thống. Tác giả giải thích cơ chế hoạt động bên trong (internals) của Kubernetes, cách bảo mật API server, quản lý tài nguyên tính toán (CPU/RAM), tự động mở rộng (Autoscaling), lập lịch nâng cao (Scheduling) và các phương pháp hay nhất (best practices) để phát triển ứng dụng,,.
Những bài học quan trọng từ cuốn sách
Cuốn sách không chỉ dạy về cú pháp mà còn truyền tải tư duy thiết kế hệ thống phân tán:
- Tư duy “Cattle vs. Pets”: Tác giả nhấn mạnh sự khác biệt giữa việc quản lý ứng dụng truyền thống (như thú cưng – chăm chút từng máy chủ) và quản lý container (như gia súc – thay thế không thương tiếc khi có lỗi). Điều này thể hiện rõ qua cách Kubernetes tự động khởi động lại Pod khi gặp sự cố.
- Cơ chế tự phục hồi (Self-healing): Một bài học lớn là việc không bao giờ nên chạy Pods trực tiếp mà nên thông qua các controller như ReplicaSets hoặc Deployments để đảm bảo tính sẵn sàng cao và khả năng tự phục hồi khi node bị lỗi,.
- Cơ chế Service Discovery: Hiểu rõ cách các Pods giao tiếp với nhau thông qua Services và biến môi trường hoặc DNS, giúp giải quyết bài toán địa chỉ IP động của các Pod,.
- Quản lý trạng thái (Stateful Applications): Sách cung cấp kiến thức sâu sắc về việc chạy các ứng dụng có trạng thái (như database) bằng StatefulSets, đảm bảo tính ổn định về định danh mạng và lưu trữ,.
- Hiểu sâu về kiến trúc: Chương 11 là một bài học đắt giá về kiến trúc Control Plane, cách API Server, Scheduler, và Controller Manager phối hợp với nhau thông qua cơ chế “watch” để đưa cluster về trạng thái mong muốn,.
Giá trị thực tiễn và định hướng áp dụng
- Thực hành song song lý thuyết: Sách hướng dẫn chi tiết cách tạo, chạy và chia sẻ container image, cũng như cách triển khai chúng lên Kubernetes,.
- Gỡ lỗi và giám sát: Tác giả không chỉ chỉ cách làm cho chạy mà còn dạy cách xử lý khi hệ thống gặp sự cố (troubleshooting services), cách sử dụng liveness/readiness probes để đảm bảo ứng dụng thực sự sẵn sàng nhận traffic,.
- Định hướng DevOps: Sách hướng tới việc giúp developers có thể tự triển khai ứng dụng mà không cần sự can thiệp liên tục của sysadmins, thúc đẩy mô hình NoOps.
- Mở rộng hệ thống: Hướng dẫn chi tiết về cách mở rộng Kubernetes bằng các Custom Resource Definitions (CRD) và viết các controller tùy chỉnh, mở đường cho việc xây dựng các nền tảng PaaS trên Kubernetes,.
Đối tượng độc giả phù hợp
- Lập trình viên (Developers): Những người muốn đóng gói ứng dụng và hiểu cách ứng dụng của mình vận hành trong môi trường phân tán.
- Quản trị hệ thống (Sysadmins/Ops): Những người chịu trách nhiệm vận hành hạ tầng, muốn chuyển dịch từ quản lý máy chủ vật lý/VM sang quản lý cluster container.
- Trình độ: Sách phù hợp cho cả người mới bắt đầu (beginner) chưa biết gì về Docker/K8s lẫn các kỹ sư phần mềm nâng cao muốn hiểu sâu về cơ chế bên trong.
Điểm mạnh và hạn chế
Điểm mạnh:
- Chi tiết và Cụ thể: Tác giả giải thích rất kỹ cơ chế “dưới nắp ca-pô” (under the hood), ví dụ như cách
kube-proxysử dụng iptables hay cách mạng giữa các Pod hoạt động,. - Minh họa trực quan: Sách sử dụng nhiều sơ đồ để giải thích các luồng dữ liệu và tương tác giữa các thành phần, giúp các khái niệm trừu tượng trở nên dễ hiểu (ví dụ: hình ảnh về Pod lifecycle, Networking),.
- Tính cập nhật (tại thời điểm viết): Sách bao gồm các tính năng quan trọng như RBAC (Role-Based Access Control) để bảo mật cluster, một yếu tố sống còn trong môi trường production.
Hạn chế:
- Phiên bản API: Do xuất bản năm 2018, một số phiên bản API trong sách (ví dụ
apiVersion: extensions/v1beta1cho Deployment) có thể đã cũ so với các phiên bản Kubernetes hiện đại (thường dùngapps/v1). Tuy nhiên, các khái niệm cốt lõi vẫn giữ nguyên giá trị. - Cập nhật công nghệ: Một số công cụ hoặc phương pháp cài đặt (như rkt) có thể ít phổ biến hơn hiện nay so với thời điểm sách viết, khi Docker và containerd đang chiếm ưu thế.
Góc nhìn của DevOps VietNam
“Kubernetes in Action” không chỉ là một cuốn sách hướng dẫn sử dụng (manual); nó là một cuốn sách giáo khoa về kiến trúc hệ thống phân tán hiện đại. Marko Lukša đã thành công trong việc biến một hệ thống phức tạp, nổi tiếng là khó học như Kubernetes trở nên dễ tiếp cận.
Điểm đặc biệt là cách tác giả cấu trúc vấn đề: luôn bắt đầu bằng việc chạy một ví dụ đơn giản, sau đó phân tích tại sao nó hoạt động, và dần dần mở rộng sang các kịch bản phức tạp hơn như scaling hay high-availability. Việc dành hẳn một phần lớn để nói về “Internals” (Cấu trúc bên trong) cho thấy cuốn sách hướng tới việc đào tạo ra những chuyên gia thực thụ chứ không chỉ là những người biết gõ lệnh kubectl.
Kết luận
“Kubernetes in Action” là tài liệu “gối đầu giường” không thể thiếu cho bất kỳ ai nghiêm túc muốn làm chủ Kubernetes. Từ việc hiểu rõ bản chất của Pod, Service cho đến việc tự tin vận hành một hệ thống production có khả năng tự phục hồi và mở rộng, cuốn sách cung cấp một nền tảng kiến thức vững chắc và toàn diện. Mặc dù một số chi tiết về cú pháp API có thể cần đối chiếu với tài liệu hiện hành, nhưng giá trị cốt lõi và tư duy hệ thống mà cuốn sách mang lại là vượt thời gian.
Đánh giá: 4.8/5 sao – Rất khuyến khích đọc (Highly Recommended).







