skip to Main Content
Welcome to 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.

Use cases

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.

Conclusion

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í.

As a senior partner of Google in Vietnam, Gimasys has more than 10+ years of experience, consulting on implementing digital transformation for 2000+ domestic corporations. Some typical customers Jetstar, Dien Quan Media, Heineken, Jollibee, Vietnam Airline, HSC, SSI...

Gimasys is currently a strategic partner of many major technology companies in the world such as Salesforce, Oracle Netsuite, Tableau, Mulesoft.

Contact Gimasys - Google Cloud Premier Partner for advice on strategic solutions suitable to the specific needs of your business:

  • Email: gcp@gimasys.com
  • Hotline: 0974 417 099
Back To Top
0974 417 099