Introduction to Istio, Part 1

·

4 min read

Tổng quan, Mục tiêu và Thời gian của khóa học

Khóa học này cung cấp kiến thức thực tiễn về Istio, được thiết kế cho những ai muốn nâng cao hiểu biết về Linux, Docker và Kubernetes để học cách cài đặt và cấu hình một service mesh cũng như hiểu rõ lợi ích khi triển khai và vận hành các ứng dụng phân tán trong môi trường service mesh.

Khóa học bắt đầu bằng một tổng quan về service mesh nói chung và Istio nói riêng. Chúng ta sẽ thảo luận các vấn đề mà service mesh giải quyết, giới thiệu kiến trúc của Istio, cách Istio hoạt động, và cách môi trường xung quanh một ứng dụng triển khai được cấu hình để ứng dụng tham gia vào mesh.

Thông qua các bài giảng và bài thực hành, bạn sẽ trải nghiệm và học được cách Istio:

  • Hỗ trợ quan sát hệ thống (observability) bằng cách thu thập và công bố các metrics;

  • Kiểm soát luồng traffic vào ứng dụng của bạn, hỗ trợ triển khai kiểu canary và các kịch bản khác;

  • Tăng cường độ bền bỉ (resiliency) của các ứng dụng phân tán bằng cách sử dụng các tính năng như retries, timeouts và circuit breakers;

  • Nâng cao bảo mật hệ thống với mutual TLS và áp dụng các chính sách xác thực (authentication) và ủy quyền (authorization) một cách độc lập với ứng dụng đang chạy.

Chương cuối cùng sẽ đề cập đến các chủ đề nâng cao, bao gồm cách đưa các workload chạy trên máy ảo (VM) bên ngoài Kubernetes vào mesh và cách Istio hỗ trợ khả năng mở rộng thông qua plugin WebAssembly.

Sau khi hoàn thành khóa học này, bạn sẽ:

  • Hiểu được kiến trúc và các thành phần của Istio service mesh.

  • Cài đặt Istio trên một cluster Kubernetes.

  • Cấu hình Ingress.

  • Hiểu cách hoạt động của sidecar injection.

  • Giám sát dịch vụ của bạn bằng Grafana, Zipkin và Kiali.

  • Điều hướng traffic giữa nhiều phiên bản của dịch vụ.

  • Thực hiện triển khai blue-green và canary.

  • Tiêm lỗi (fault injection) và sử dụng các tính năng phục hồi (resiliency).

  • Hiểu khái niệm về nhận diện workload (workload identity) và kiến trúc "zero trust".

  • Kiểm soát quyền truy cập vào các workload của bạn.

  • Mở rộng chức năng của Istio mesh bằng WebAssembly.

Thời gian cần thiết:

Bạn sẽ cần khoảng 20-25 giờ để hoàn thành khóa học này..

Hướng dẫn học tập:

Các chương trong khóa học được thiết kế để xây dựng kiến thức theo trình tự, vì vậy tốt nhất bạn nên học tuần tự. Nếu bỏ qua hoặc chỉ lướt nhanh một số chương, bạn có thể sẽ gặp phải các chủ đề mà bạn chưa được làm quen trước đó.

Tuy nhiên, khóa học này tự học hoàn toàn, bạn luôn có thể quay lại để ôn tập, tự tạo lộ trình riêng và tiếp tục từ đúng nơi bạn đã dừng. Chúng tôi khuyến nghị bạn không nên để thời gian nghỉ giữa các buổi học quá dài để tối ưu hóa tốc độ học tập và tăng khả năng ghi nhớ nội dung.

Đối tượng phù hợp với khóa học

Khóa học này dành cho các nhà phát triển ứng dụng, quản trị viên hệ thống và chuyên gia bảo mật, những người đã quen thuộc và có kinh nghiệm với Kubernetes, và muốn bắt đầu tìm hiểu và hiểu rõ về Istio.

Yêu cầu trước khi tham gia khóa học

Trước khi bắt đầu, bạn cần nắm vững:

  • Các khái niệm cơ bản về Linux và cách sử dụng dòng lệnh (command line).

  • Kiến thức cơ bản về Kubernetes và cách sử dụng Kubernetes CLI – chúng tôi khuyến nghị khóa học miễn phí Introduction to Kubernetes để làm nền tảng.

Để thực hành trong các bài lab, bạn cần có quyền truy cập vào một cụm Kubernetes. Các bài lab trong khóa học này đã được kiểm tra trên môi trường Google Cloud Platform (GCP).

Nếu bạn sử dụng một nhà cung cấp dịch vụ đám mây như GCP, AWS, hoặc Azure, bạn có thể hoàn thành bài lab bằng cách sử dụng các gói miễn phí hoặc tín dụng được cung cấp. Tuy nhiên, bạn có thể phát sinh chi phí nếu vượt quá giới hạn tín dụng ban đầu mà nhà cung cấp cấp phát.

Khóa học giúp bạn chuẩn bị cho điều gì?

Sau khi hoàn thành khóa học, bạn sẽ có:

  • Một hiểu biết vững chắc về nguồn gốc, kiến trúc, và các thành phần cơ bản của Istio.

  • Khả năng bắt đầu kiểm thử các mẫu (pattern) cloud native mới, sẵn sàng để bắt đầu hành trình ứng dụng các công nghệ cloud native vào thực tiễn.