Triển Khai Kubernetes HA Tối Giản Với Tải Cân Bằng Kernel

Giới thiệu về phương pháp triển khai Kubernetes HA Việc cài đặt một cụm Kubernetes có khả năng chịu lỗi cao (High Availability - HA) thường đi kèm với độ phức tạp đáng kể, đòi hỏi nhiều công cụ và cấu hình phụ thuộc. Phương pháp được trình bày ở đây mang đến một cách tiếp cận đơn giản và hiệu quả để xây dựng cụm K8s HA mà không cần đến các thàn ...

Đăng vào ngày 3 tháng 9 lúc 05:14

Cài đặt và quản trị Harbor Registry trên Linux

Harbor là một registry mã nguồn mở dành riêng cho Docker và OCI, được thiết kế để triển khai nội bộ với các tính năng bảo mật nâng cao như kiểm soát truy cập theo vai trò (RBAC), quét lỗ hổng bảo mật, sao lưu – phục hồi dữ liệu và hỗ trợ giao thức HTTPS bắt buộc. Yêu cầu hệ thống tối thiểu CPU: 4 lõi Bộ nhớ RAM: 8 GB Dung lượng đĩa: ≥ ...

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

Cấu hình ứng dụng .NET Core sử dụng Consul

Trong .NET Core, việc đọc và quản lý cấu hình có thể được thực hiện thông qua các nguồn外部 như Consul, một hệ thống quản lý cấu hình tập trung. Thư viện Winton.Extensions.Configuration.Consul cung cấp một cách hiệu quả để đọc các giá trị key-value từ Consul. Đầu tiên, bạn cần thêm thư viện này vào dự án của mình để bắt đầu sử dụng. Thư viện n ...

Đăng vào ngày 25 tháng 8 lúc 04:20

Quản lý Cấu hình ứng dụng với ConfigMap trong Kubernetes

Tổng quan về ConfigMap ConfigMap là một đối tượng API dùng để lưu trữ dữ liệu không bí mật dưới dạng cặp khóa-giá trị. Pod có thể sử dụng chúng như biến môi trường, tham số dòng lệnh hoặc tệp cấu hình trong storage. Lưu ý: ConfigMap không cung cấp tính năng mã hóa. Để lưu trữ dữ liệu nhạy cảm, hãy sử dụng Secret hoặc công cụ bên thứ ba. Con ...

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

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