RobustX / Chương trình học / Chuyên đề / DevOps / Điều phối và Triển khai ứng dụng Container với Kubernetes

Điều phối và Triển khai Ứng dụng Container với Kubernetes

Trong bối cảnh phát triển ứng dụng hiện đại, container đã trở thành nền tảng trọng yếu cho các hệ thống microservices phức tạp. Để quản lý ở quy mô lớn, doanh nghiệp cần đến những giải pháp điều phối mạnh mẽ và hiệu quả. Khóa học “Điều phối và Triển khai Ứng dụng Container” tập trung vào Kubernetes – nền tảng mã nguồn mở hàng đầu, giúp tự động hóa toàn bộ vòng đời ứng dụng: từ triển khai, mở rộng, đến tự phục hồi, đảm bảo tính ổn định và khả năng sẵn sàng cao.

Chương trình học được thiết kế bài bản, bắt đầu từ kiến trúc cốt lõi của Kubernetes và cách khai báo tài nguyên qua YAML. Học viên sẽ làm chủ các kỹ thuật vận hành quan trọng như cập nhật không gián đoạn, quản lý cấu hình, lưu trữ bền vững, thiết lập mạng, cũng như giám sát và tối ưu ứng dụng. Phương pháp đào tạo gắn liền với thực hành giúp người học dễ dàng chuyển hóa kiến thức thành kỹ năng thực tế.

Hoàn thành khóa học, bạn sẽ có năng lực thiết kế, triển khai và quản lý các ứng dụng container hóa phức tạp trong môi trường sản xuất. Đây chính là nền tảng vững chắc để nâng cao chuyên môn, khẳng định năng lực và mở rộng cơ hội nghề nghiệp trong lĩnh vực công nghệ.

Thời lượng: 36h

Hình thức đào tạo:

    • Đào tạo trực tiếp tại lớp học
    • Đào tạo trực tuyến
    • Đào tạo hybrid (trực tuyến kết hợp trực tiếp)
    • Đào tạo tại văn phòng khách hàng

Mục tiêu khoá học:

  1. Nắm vững Kiến trúc và Nền tảng Kubernetes

    Hiểu sâu kiến trúc Control Plane & Worker Node. Sử dụng thành thạo kubectl để tương tác và quản lý tài nguyên cơ bản trên cluster.

  2. Làm Chủ Vòng Đời Ứng Dụng Container

    Triển khai ứng dụng với Deployment, thực hiện cập nhật không gián đoạn (rolling update), tự động mở rộng và phục hồi một cách an toàn.

  3. Quản Lý Mạng và Cấu Hình Chuyên Sâu

    Kết nối an toàn trong và ngoài cluster với Service, Ingress. Quản lý cấu hình, dữ liệu nhạy cảm và lưu trữ bền bỉ cho ứng dụng.

  4. Đảm Bảo Vận Hành Tin Cậy và Tối Ưu

    Thiết lập cơ chế kiểm tra sức khoẻ, tự phục hồi (self-healing) và định nghĩa giới hạn tài nguyên để đảm bảo ứng dụng luôn ổn định.

  5. Tự Động Hoá Triển Khai với Helm & GitOps

    Đóng gói ứng dụng phức tạp với Helm. Tìm hiểu triết lý GitOps và các công cụ như Argo CD/Flux CD để tự động hoá quy trình vận hành.

Đối tượng tham gia

Nội dung khóa học

1. Tổng quan về Điều phối Container và Kubernetes
    • Bối cảnh và nhu cầu:
      • Hiểu rõ thách thức khi vận hành container quy mô lớn và vai trò của hệ thống điều phối.
    • Kiến trúc cốt lõi của Kubernetes:
      • Control Plane: Hiểu được vai trò của API Server, etcd, Scheduler, và Controller Manager.
      • Worker Node: Hiểu được nhiệm vụ của Kubelet, Kube-proxy và Container Runtime.
    • Các môi trường Kubernetes phổ biến:
      • Làm quen với các môi trường phổ biến: Minikube, k3s (local) và các dịch vụ Cloud (GKE, EKS, AKS).
2. Thiết lập Môi trường và Công cụ Dòng lệnh
    • Xây dựng môi trường lab:
      • Cài đặt và cấu hình cluster Kubernetes với Minikube hoặc k3s để thực hành.
    • Công cụ và Khái niệm cơ bản:
      • Làm chủ kubectl: các lệnh thiết yếu để quản lý và gỡ lỗi tài nguyên.
      • Nắm vững cú pháp và cấu trúc của file manifest YAML.
      • Sử dụng Namespace để phân tách các môi trường logic trong cluster.
3. Quản lý Workload và Vòng đời Ứng dụng
    • Các tài nguyên Workload cơ bản:
      • Hiểu rõ khái niệm và cách dùng của Pod, ReplicaSet và Deployment.
    • Quản lý Vòng đời Ứng dụng:
      • Thực hành các chiến lược cập nhật: Rolling Update và Recreate.
      • Thực hiện quay lui (rollback) về phiên bản trước và mở rộng (scale) ứng dụng.
    • Các loại Workload nâng cao:
      • Giới thiệu StatefulSet cho các ứng dụng có trạng thái.
      • Giới thiệu DaemonSet cho các agent chạy trên mỗi node.
4. Kết nối Mạng và Khám phá Dịch vụ
    • Kết nối nội bộ và Service Discovery:
      • Hiểu mô hình mạng Pod-to-Pod và cơ chế DNS nội bộ.
      • Sử dụng Service để tạo điểm truy cập ổn định cho các Pod (ClusterIP, NodePort, LoadBalancer).
    • Public ứng dụng ra bên ngoài:
      • Sử dụng Ingress và Ingress Controller để định tuyến traffic HTTP/HTTPS từ bên ngoài vào cluster.
5. Quản lý Cấu hình và Lưu trữ Bền bỉ
    • Quản lý Cấu hình Ứng dụng:
      • Sử dụng ConfigMap để tách biệt các cấu hình không nhạy cảm.
      • Sử dụng Secret để quản lý an toàn mật khẩu, token và chứng chỉ.
    • Lưu trữ Dữ liệu Bền bỉ:
      • Hiểu rõ kiến trúc PersistentVolume (PV), PersistentVolumeClaim (PVC), và StorageClass.
      • Thực hành triển khai ứng dụng có trạng thái với PVC.
6. Đảm bảo Sức khoẻ và Quản lý Tài nguyên
    • Kiểm tra sức khoẻ ứng dụng:
      • Cấu hình Liveness & Readiness Probes để Kubernetes tự động kiểm tra và quản lý trạng thái Pod.
    • Cơ chế tự phục hồi và Quản lý tài nguyên:
      • Tận dụng cơ chế Self-Healing để tự động khởi động lại container lỗi.
      • Thiết lập giới hạn tài nguyên CPU & Memory (Requests & Limits) cho container.
7. Quản lý Gói Ứng dụng với Helm
    • Kiến trúc và Khái niệm Helm:
      • Hiểu rõ vai trò của Helm và các thành phần: Chart, Release, Repository.
    • Sử dụng và Xây dựng Helm Chart:
      • Tìm kiếm và triển khai ứng dụng có sẵn bằng Helm.
      • Xây dựng và tùy chỉnh một Helm Chart cơ bản cho ứng dụng của riêng bạn.
8. Giới thiệu các Mô hình Triển khai Nâng cao
    • Quản lý Cấu hình Khai báo:
      • Giới thiệu Kustomize như một giải pháp quản lý cấu hình không cần template.
    • Triết lý và Công cụ GitOps:
      • Tìm hiểu triết lý GitOps: lấy Git làm trung tâm để vận hành hệ thống.
      • Tổng quan về các công cụ GitOps phổ biến: Argo CD và Flux CD.

LỊCH KHAI GIẢNG

(Đang cập nhật)

Bài viết liên quan