Chuyển tới nội dung chính

CI/CD Architecture

Quản Lý Dự Án

Các dự án hỗ trợ quản lý Thành viên, Nhóm và Vai trò cho việc kiểm soát quyền truy cập đa cụm. Chúng cũng hỗ trợ quản lý Ứng dụng và Nhóm Triển Khai để cấu trúc các bản dựng ứng dụng và quy trình triển khai.

Kiến Trúc Logic Quản Lý Dự Án

Trong một dự án, nhiều ứng dụng và nhóm triển khai có thể được quản lý, và các mối quan hệ của chúng được cấu trúc theo định dạng M:N. Ví dụ, một ứng dụng cho cả môi trường phát triển và sản xuất có thể được triển khai như một phần của Nhóm Triển Khai.

Mối quan hệ giữa Nhóm Triển Khai và Cụm Dữ Liệu có thể được tổ chức một cách logic theo định dạng M:N. Bạn có thể đăng ký nhiều Cụm Dữ Liệu trong một Nhóm Triển Khai để triển khai ứng dụng theo cách GitOps.

Quản Lý Xây Dựng Ứng Dụng

Nền tảng Hiện Đại hóa đơn giản hóa việc xây dựng ứng dụng bằng cách lấy mã nguồn từ các nhóm phát triển và tạo ra các hình ảnh Docker sẵn sàng cho việc triển khai trên Kubernetes. Quy trình này cho phép cấu hình quy trình thông qua giao diện người dùng thân thiện mà không cần lập trình. Ngoài ra, nền tảng tích hợp các công cụ thiết yếu như Gitea, Nexus, và Harbor cho kiểm soát mã nguồn, quản lý thư viện và lưu trữ hình ảnh:

  • Gitea (Quản Lý Nguồn): Quản lý các kho mã.
  • Nexus (Quản Lý Nhị Phân): Lưu trữ và quản lý các thư viện cần thiết.
  • Harbor (Đăng Ký Hình Ảnh): Lưu trữ các hình ảnh container đã xây dựng.

Quy trình xây dựng theo các bước sau:

  1. Các nhà phát triển tải lên mã nguồn và thư viện lên Gitea và Nexus.
  2. Quy trình xây dựng Tekton biên dịch bản dựng sử dụng các tài nguyên đã tải lên.
  3. Khi hoàn thành, hình ảnh container kết quả được tải lên Đăng Ký Hình Ảnh Harbor.

Toàn bộ quy trình được quản lý thông qua bảng điều khiển người dùng, với CICD Backend tự động hóa quy trình xây dựng và tải hình ảnh lên.

Kiến Trúc Xây Dựng & Triển Khai Ứng Dụng

Quản Lý Triển Khai Ứng Dụng

Một Deployment Group bao gồm các môi trường mục tiêu cho việc triển khai ứng dụng. Những môi trường này tương ứng với các cụm Kubernetes và tương thích với nhiều dịch vụ Kubernetes khác nhau, bao gồm AKS, EKS, IKS, và Native Kubernetes. Mỗi Nhóm Triển Khai cho phép lựa chọn nhiều cụm Kubernetes và một Namespace được chỉ định. Khi một triển khai được kích hoạt trong một Nhóm Triển Khai, ứng dụng sẽ được triển khai vào Namespace đã chỉ định trên tất cả các cụm đã chọn.

Các tính năng chính của quản lý triển khai bao gồm:

  • Triển khai nhiều Ứng dụng trong một Nhóm Triển Khai.
  • Định nghĩa các loại triển khai (ví dụ: Triển Khai Kubernetes) cho mỗi Ứng dụng.
  • Tự động tạo các Tài Liệu Triển Khai Kubernetes (YAML) khi triển khai.
  • Lưu các tài liệu YAML vào một máy chủ Git và áp dụng chúng qua ArgoCD.

Triển Khai Dựa Trên GitOps

Triển khai qua bảng điều khiển Cloud ZCP tuân theo phương pháp GitOps, trong đó Git phục vụ như là nguồn thông tin duy nhất để quản lý các tài nguyên đã triển khai. CICD Backend tạo ra các tài liệu Kubernetes dựa trên cấu hình ứng dụng và cam kết chúng vào một kho GitOps. ArgoCD, như là bộ điều khiển GitOps, liên tục giám sát và áp dụng các thay đổi vào Namespace đã chỉ định trong Cụm Dữ Liệu.