bỏ qua Nội dung chính
Chào mừng bạn đến với Gimasys!
Hotline: +84 974 417 099 (HCM) | +84 987 682 505 (HN) gcp@gimasys.com

Tự động thu nhỏ quy mô về 0 trên Google Kubernetes Engine với KEDA

Đối với các nhà phát triển và doanh nghiệp chạy ứng dụng trên Google Kubernetes Engine (GKE), việc thu nhỏ hạ tầng triển khai xuống còn 0 khi không hoạt động có thể mang lại lợi ích tiết kiệm tài chính đáng kể. Cluster Autoscaler của GKE quản lý hiệu quả kích thước của nhóm node, nhưng đối với các ứng dụng yêu cầu tắt và khởi động hoàn toàn (thu nhỏ nhóm node hoàn toàn xuống 0 và ngược lại), bạn sẽ cần một giải pháp thay thế, vì GKE không cung cấp sẵn chức năng scale to zero. Điều này rất quan trọng đối với các ứng dụng có khối lượng công việc gián đoạn hoặc mô hình lưu lượng truy cập thay đổi. Trong bài đăng blog này, Gimasys sẽ giúp bạn tìm hiểu cách tích hợp Kubernetes Event-driven Autoscaler (KEDA) mã nguồn mở để đạt được điều này. Với KEDA, bạn có thể liên kết chi phí của mình trực tiếp với nhu cầu của mình, chỉ trả tiền cho các tài nguyên đã sử dụng.

Tại sao cần scale to zero?

Giảm thiểu chi phí là động lực chính để thu nhỏ hạ tầng GKE về 0 và áp dụng cho nhiều tình huống khác nhau. Đối với các chuyên gia kỹ thuật, điều này đặc biệt quan trọng khi xử lý:

  •  Khối lượng công việc sử dụng GPU chuyên sâu: Các khối lượng công việc AI/ML thường yêu cầu GPU mạnh mẽ, có thể tốn kém để duy trì hoạt động ngay cả khi không hoạt động.
  •  Ứng dụng có thời gian ngừng hoạt động có thể dự đoán dự đoán: Các công cụ nội bộ với giờ sử dụng cụ thể – thu nhỏ tài nguyên cho các ứng dụng chỉ được sử dụng trong giờ làm việc hoặc các ngày cụ thể trong tuần.
  •  Ứng dụng theo mùa: Thu nhỏ xuống 0 trong mùa thấp điểm cho các ứng dụng có giai đoạn hoạt động thấp dự đoán.
  •  Môi trường dàn dựng theo yêu cầu: Nhân bản môi trường sản xuất để kiểm tra và xác thực, thu nhỏ chúng xuống 0 sau khi kiểm tra hoàn tất.
  •  Môi trường phát triển, demo và proof-of-concept:
    •  Giới thiệu sản phẩnm ngắn hạn: Trình diễn ứng dụng hoặc tính năng cho khách hàng hoặc bên liên quan, thu nhỏ tài nguyên xuống 0 sau khi trình diễn.
    • Triển khai proof-of-concept tạm thời: Kiểm tra ý tưởng hoặc công nghệ mới trong môi trường trực tiếp, thu nhỏ xuống 0 sau khi đánh giá.
    • Môi trường phát triển: Khởi chạy tài nguyên để kiểm tra, đánh giá mã hoặc nhánh tính năng và thu nhỏ chúng xuống 0 khi không cần thiết, tối ưu hóa chi phí cho khối lượng công việc tạm thời.
  • Ứng dụng kích hoạt bởi sự kiện:
    • Microservices với lưu lượng truy cập không thường xuyên: Thu nhỏ từng dịch vụ xuống 0 khi chúng không hoạt động và tự động mở rộng khi có yêu cầu đến, tối ưu hóa sử dụng tài nguyên cho các mẫu lưu lượng truy cập không thể đoán trước.
    • Serverless functions: Thực thi mã để phản hồi các sự kiện mà không cần quản lý máy chủ, tự động thu nhỏ xuống 0 khi không hoạt động.
  • Khôi phục thảm họa và tính liên tục kinh doanh: Duy trì một bộ tài nguyên cốt lõi tối thiểu trong trạng thái chờ sẵn, sẵn sàng mở rộng nhanh chóng trong trường hợp xảy ra thảm họa, giảm thiểu chi phí đồng thời đảm bảo tính liên tục kinh doanh.

Giới thiệu KEDA cho GKE

KEDA là một giải pháp nguồn mở, gốc Kubernetes cho phép bạn mở rộng triển khai dựa trên nhiều số liệu và sự kiện. KEDA có thể kích hoạt hành động mở rộng dựa trên các sự kiện bên ngoài như độ sâu của hàng đợi tin nhắn hoặc yêu cầu HTTP đến. Và không giống như triển khai hiện tại của Horizontal Pod Autoscaler (HPA), KEDA hỗ trợ mở rộng khối lượng công việc xuống 0, khiến nó trở thành lựa chọn mạnh mẽ để xử lý các công việc gián đoạn hoặc ứng dụng có nhu cầu biến động.

Các trường hợp sử dụng

Hãy cùng Gimasys khám phá hai kịch bản phổ biến mà khả năng thu nhỏ xuống 0 của KEDA mang lại lợi ích:

  • Mở rộng quy mô của Pub/Sub worker
    • Kịch bản: Một triển khai xử lý các tin nhắn từ chủ đề Pub/Sub. Khi không có tin nhắn nào khả dụng, việc thu nhỏ xuống 0 sẽ tiết kiệm tài nguyên và chi phí.
    • Giải pháp: Bộ thu nhỏ quy mô Pub/Sub của KEDA giám sát hàng đợi tin nhắn và kích hoạt hành động mở rộng quy mô tương ứng. Bằng cách cấu hình tài nguyên ScaledObject, bạn có thể chỉ định rằng triển khai thu nhỏ xuống 0 bản sao khi hàng đợi trống.
  • Mở rộng quy mô khối lượng công việc phụ thuộc vào GPU, chẳng hạn như triển khai Ollama để phục vụ LLM
    • Kịch bản: Một mô hình ngôn ngữ lớn (LLM) dựa trên Ollama thực hiện các tác vụ suy luận. Để giảm thiểu việc sử dụng GPU và chi phí, triển khai cần phải thu nhỏ xuống 0 khi không có yêu cầu suy luận.
    • Giải pháp: Kết hợp HTTP-KEDA (một tính năng beta của KEDA) với Ollama cho phép chức năng thu nhỏ xuống 0. HTTP-KEDA mở rộng quy mô triển khai dựa trên số liệu yêu cầu HTTP, trong khi Ollama phục vụ LLM.

Bắt đầu với KEDA trên GKE

KEDA cung cấp một giải pháp mạnh mẽ và linh hoạt để đạt được chức năng thu nhỏ xuống 0 trên GKE. Bằng cách tận dụng khả năng mở rộng quy mô kích hoạt bởi sự kiện của KEDA, bạn có thể tối ưu hóa việc sử dụng tài nguyên, giảm thiểu chi phí và cải thiện hiệu quả của các triển khai Kubernetes của mình. Vui lòng nhớ xác thực các tình huống sử dụng vì cơ chế thu nhỏ xuống 0 có thể ảnh hưởng đến hiệu suất khối lượng công việc. Việc thu nhỏ xuống 0 có thể làm tăng độ trễ do khởi động lạnh. Khi một ứng dụng thu nhỏ xuống 0, điều đó có nghĩa là không có phiên bản nào đang chạy. Khi một yêu cầu đến, một phiên bản mới phải được khởi động, làm tăng độ trễ. Cũng có những cân nhắc về quản lý trạng thái. Khi các phiên bản bị chấm dứt, bất kỳ trạng thái nào trong bộ nhớ đều bị mất.

Kết luận

Việc tự động thu nhỏ quy mô về không trên Google Kubernetes Engine bằng KEDA không chỉ giúp tối ưu hóa việc sử dụng tài nguyên mà còn mang lại hiệu quả kinh tế đáng kể. Bằng cách tự động tắt các pod khi không có tải, doanh nghiệp có thể giảm chi phí vận hành và tăng hiệu suất sử dụng tài nguyên. KEDA đã chứng minh là một công cụ hữu ích trong việc xây dựng các hệ thống cloud-native linh hoạt, thích ứng và tiết kiệm chi phí.

Là đối tác cấp cao của Google tại Việt Nam, Gimasys có hơn 10+ năm kinh nghiệm, tư vấn triển khai chuyển đối số cho 2000+ doanh nghiệp tập đoàn trong nước. Một số khách hàng tiêu biểu Jetstar, Điền Quân Media, Heineken, Jollibee, Vietnam Airline, HSC, SSI...

Gimasys hiện đang là đối tác chiến lược của hàng loạt hãng công nghệ lớn trên thế giới như Salesforce, Oracle Netsuite, Tableau, Mulesoft

Liên hệ Gimasys - Google Cloud Premier Partner để được tư vấn các giải pháp chiến lược phù hợp nhu cầu riêng của doanh nghiệp:

  • Email: gcp@gimasys.com
  • Hotline: 0974 417 099
Trở lại đầu trang
0974 417 099