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