Nghiên Cứu Cơ Chế Vận Hành Của Pod Và Hạ Tầng Mạng Trong Kubernetes

1. Tổng Quan Về Khái Niệm Pod Pod được xem là thành phần nhỏ nhất có thể triển khai trên hệ thống Kubernetes. Đây là một đơn vị logic để đóng gói một hoặc nhiều quá trình ứng dụng (container) chạy cùng nhau với tài nguyên dùng chung. 1.1. Vai Trò Của Container Pause Mỗi Pod luôn bao gồm ít nhất một container đặc biệt gọi là pause. Chức năng c ...

Đăng vào ngày 22 tháng 8 lúc 01:09

Triển khai CI/CD toàn diện với Jenkins và tính năng Canary Release

Bài viết này hướng dẫn cách xây dựng quy trình liên tục tích hợp và liên tục triển khai (CI/CD) bằng Jenkins để thực hiện chiến lược phát hành theo từng giai đoạn (Canary Release) trên toàn bộ hệ thống. Trong quá trình phát hành ứng dụng, việc đảm bảo tính ổn định là yếu tố tiên quyết. Một phương pháp hiệu quả để giảm thiểu rủi ro là sử dụng m ...

Đăng vào ngày 21 tháng 8 lúc 22:34

Triển khai Jenkins bằng Docker

Bài viết này hướng dẫn cách triển khai và cấu hình Jenkins sử dụng Docker, bao gồm các phương pháp khác nhau như chạy trực tiếp, sử dụng docker-compose và Kubernetes. 1. Triển khai Docker Tài liệu tham khảo: Docker: Link Swarm: Link Kubernetes (k8s): Link 2. Triển khai Jenkins Container 2.1 Tạo thư mục mkdir -p /opt/jenkins_dat ...

Đăng vào ngày 19 tháng 8 lúc 14:39

Thiết lập cụm K8s phiên bản 1.23.4 bằng cách cài đặt nhị phân - Kiến trúc hệ thống và phát hành chứng chỉ gốc

1. Kiến trúc hệ thống Diễn giải kiến trúc như hình dưới đây: Quy mô triển khai sử dụng 5 máy ảo, phân bổ chức năng như sau: 2 máy làm nhiệm vụ cân bằng tải: một máy xử lý L4 (cân bằng tải tầng giao thức), một máy xử lý L7 (cân bằng tải ứng dụng). Máy L7 đóng vai trò reverse proxy cho Ingress, máy L4 phục vụ cân bằng tải cho apiserver. Cả ...

Đăng vào ngày 19 tháng 8 lúc 03:25

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