Xây dựng hệ thống ML Production với Docker, FastAPI và Kubernetes

1. Từ Jupyter Notebook đến Production: Hành trình vượt chướng ngại vật Chuyển đổi mô hình machine learning từ môi trường phát triển sang production là một bước ngoặt đầy thách thức. Không giống như việc chạy thử nghiệm trên dataset sạch sẽ với GPU local, production đòi hỏi khả năng xử lý hàng triệu request mỗi ngày, chịu đựng dữ liệu bẩn, và du ...

Đăng vào ngày 13 tháng 8 lúc 12:34

Truy cập ứng dụng được triển khai từ bên ngoài cụm Kubernetes

1. Truy cập ứng dụng từ bên ngoài cụm Kubernetes Tạo dịch vụ (Service) [root@k8s-master java-demo]# vim java_demo_service.yaml [root@k8s-master java-demo]# cat java_demo_service.yaml apiVersion: v1 kind: Service metadata: labels: app: java-demo name: java-demo spec: type: NodePort # loại dịch vụ ports: - port: 8080 # cổng dịch ...

Đăng vào ngày 8 tháng 8 lúc 16:30

Xử lý lỗi mất cân bằng tải trong Kubernetes khi lưu lượng chỉ dồn vào một Pod

Trong môi trường Kubernetes, đôi khi bạn sẽ gặp tình trạng dù đã scale lên nhiều Pod (ví dụ 4 Pod), nhưng khi thực hiện kiểm thử hiệu năng (stress test) với hàng trăm request đồng thời, tất cả các request đó vẫn chỉ được xử lý bởi một Pod duy nhất. Hiện tượng này thường do cơ chế phân phối lưu lượng của Service hoặc cách thức duy trì kết nối củ ...

Đăng vào ngày 8 tháng 8 lúc 07:58

Phân tích cơ chế mạng Flannel trong Kubernetes

Flannel là một trong những plugin CNI phổ biến cho cụm Kubernetes, hoạt động như một mạng overlay giúp kết nối các Pod trên nhiều node khác nhau. Nó hỗ trợ nhiều backend truyền dữ liệu như VXLAN, host-gw, UDP… Đặc điểm nổi bật của Flannel Mỗi Pod trong cụm được gán một địa chỉ IP duy nhất trong không gian mạng chung. Xây dựng mạng overlay ...

Đăng vào ngày 7 tháng 8 lúc 15:36

Giới Thiệu Kubernetes: Từ Khái Niệm Đến Triển Khai

Kubernetes (k8s) là một nền tảng mã nguồn mở mạnh mẽ, được thiết kế để tự động hóa việc triển khai, mở rộng và quản lý các ứng dụng được đóng gói trong container. Nó xem các container như các khối xây dựng cơ bản và cung cấp một cơ chế mạnh mẽ để quản lý chúng ở quy mô lớn. Lịch Sử Phát Triển Các Mô Hình Triển Khai Ứng Dụng Việc triển khai ứng ...

Đăng vào ngày 5 tháng 8 lúc 05:16

Quản lý Tài nguyên Secret và ConfigMap trong Kubernetes

一、Secret 1.1 Khái niệm Secret là tài nguyên Kubernetes được dùng để lưu trữ dữ liệu nhạy cảm như mật khẩu, token, khóa và các thông tin bảo mật khác. Mặc dù dữ liệu này có thể được lưu trữ trực tiếp trong Pod hoặc hình ảnh container, việc sử dụng Secret giúp kiểm soát cách sử dụng dữ liệu tốt hơn và giảm thiểu rủi ro lộ thông tin. 1.2 Ba loại ...

Đăng vào ngày 4 tháng 8 lúc 14:13

Longhorn Container Lưu Trữ Phân Tán - Python Client

Trong bài viết này, chúng ta sẽ khám phá cách sử dụng Python để tương tác với API của Longhorn. Truy Cập Longhorn API Có nhiều cách để giao tiếp với Longhorn, trong đó phổ biến nhất là thông qua dịch vụ longhorn-frontend. Lấy Endpoint của Longhorn API: Nếu bạn đang chạy các công cụ tự động hóa hoặc script trong cùng một cluster với Longh ...

Đăng vào ngày 4 tháng 8 lúc 13:40

Triển Khai Và Cấu Hình Kubernetes 1.20

Giới Thiệu Kubernetes (K8S) đã trở thành tiêu chuẩn trong lĩnh vực quản lý container, hỗ trợ doanh nghiệp triển khai ứng dụng linh hoạt và có tính sẵn sàng cao. Bài viết này sẽ giúp bạn hiểu sâu về kiến trúc và đặc điểm của K8S, đồng thời cung cấp hướng dẫn chi tiết để triển khai phiên bản 1.20. 1. Hiểu Biết Cơ Bản Về Cloud-Native Và K8S Clou ...

Đăng vào ngày 31 tháng 7 lúc 16:00

Triển khai và Cấu hình Jenkins cơ bản trên Kubernetes

Giới thiệu về Jenkins Jenkins là một nền tảng tự động hóa mã nguồn mở hàng đầu, được sử dụng rộng rãi cho các dự án Tích hợp Liên tục (CI) và Phân phối Liên tục (CD). Nền tảng này cho phép tự động hóa các tác vụ liên quan đến xây dựng, kiểm thử và triển khai phần mềm trên nhiều môi trường khác nhau. Mục đích của Jenkins Tự động hóa liên t ...

Đăng vào ngày 31 tháng 7 lúc 09:25

Tìm hiểu sâu về Pod trong Kubernetes

Mỗi Pod có thể chứa một hoặc nhiều container. Các container này được chia thành hai loại: Container chứa ứng dụng người dùng: Số lượng có thể thay đổi. Container Pause: Đây là "container gốc" mà mọi Pod đều có. Nó có hai chức năng: Đóng vai trò là cơ sở để đánh giá tình trạng sức khỏe tổng thể của Pod. ...

Đăng vào ngày 30 tháng 7 lúc 15:06