Điều kiện tiên quyết
Trước khi bắt đầu quá trình triển khai Glasswall Halo, hãy đảm bảo rằng bạn đã cài đặt và thiết lập các công cụ và tài nguyên sau.
Yêu cầu hệ thống
Hướng dẫn sau đây được viết với giả định rằng hướng dẫn sẽ được chạy trên Linux shell. Nếu chạy trên một shell khác, một số lệnh có thể cần được sửa đổi để chạy.
Nếu chạy trên Windows, vui lòng đảm bảo bạn đang sử dụng Windows subsystem for Linux.
Công cụ bắt buộc
Các tài nguyên Azure bắt buộc
1. Phiên bản AKS
-
Khuyến nghị tổng cộng ít nhất 8 vCPU và 32 GB RAM.
-
Kích thước node tối thiểu là 4 vCPU và 16 GB RAM.
-
Đối với workload production, khuyến nghị tối thiểu 2 node.
-
Trong các bước bên dưới, cụm AKS được gọi là: aksname
Lưu ý: Glasswall Halo không hỗ trợ VM node arm64.
Để được hướng dẫn tạo cụm AKS, vui lòng tham khảo:
2. Key Vault
-
Các secret của Glasswall Halo được quản lý bằng Azure Key Vault. Các secret này được đồng bộ vào cụm AKS thông qua External secrets.
-
Trong các bước bên dưới, Key Vault được gọi là: kvname
Để được hướng dẫn về cách tạo Azure Key Vault, vui lòng tham khảo:
3. Tài khoản lưu trữ
-
Một tài khoản lưu trữ được dùng để lưu các báo cáo cho từng tệp được nền tảng xử lý. SKU của tài khoản lưu trữ không ảnh hưởng đến hiệu năng, nhưng chúng tôi khuyến nghị tối thiểu cấu hình GRS.
-
Một tài khoản lưu trữ bổ sung được dùng làm Azure file share hỗ trợ persistent volume của cụm. Tài khoản này được tự động thêm vào resource group của cụm AKS.
-
Trong các bước bên dưới, tài khoản lưu trữ thu thập các báo cáo CDR được gọi là: saname
File share:
-
1 X 10 TB dung lượng được cấp phát (thông lượng 1100.0 MiB/s)
- Được dùng cho kho lưu trữ tệp tạm thời của Glasswall Halo và RabbitMQ của Glasswall Halo
4. Cơ sở dữ liệu
Tùy chọn 1 - Cơ sở dữ liệu MongoDB
MongoDB có thể được dùng để lưu trữ các policy quản lý nội dung của Glasswall Halo và dữ liệu cần thiết cho xử lý tệp không đồng bộ. MongoDB được sử dụng bởi các dịch vụ cdrplatform-policy-API, cdrplatform-async-API, cdrplatform-metrics-projection, cdrplatform-tally-accumulator.
-
Triển khai một CosmosDB có khả năng tương thích với MongoDB API.
-
Đảm bảo rằng phiên bản được thiết lập với phân bổ thông lượng phù hợp, tùy thuộc vào lượng dữ liệu dự kiến sẽ đi qua Glasswall Halo.
Lưu ý: ngoài ra, MongoDB có thể được triển khai trực tiếp bên trong cluster của bạn. Có thể triển khai bằng các Helm chart của MongoDB, như được thấy ở Bước 8.
Tùy chọn 2 - Cơ sở dữ liệu CosmosDB
Ngoài ra, CosmosDB có thể được sử dụng để lưu trữ các policy quản lý nội dung của Glasswall Halo, dữ liệu cho xử lý tệp không đồng bộ và số liệu.
-
Triển khai một phiên bản CosmosDB trong Azure.
- Đảm bảo rằng phiên bản được thiết lập với phân bổ thông lượng phù hợp, tùy thuộc vào lượng dữ liệu dự kiến sẽ đi qua Glasswall Halo.
5. Đăng ký ứng dụng
Phải cấu hình một tên miền cho Portal của Glasswall Halo để sử dụng xác thực SSO.
Cần có các đăng ký ứng dụng Azure bất cứ khi nào cần bật xác thực SSO bằng Azure AD.
Có 3 đăng ký ứng dụng cần được tạo:
-
cdrplatform-API-access
-
cdrplatform-portal-access
-
cdrplatform-portal-client
Tập lệnh shell đính kèm giúp tạo 3 đăng ký ứng dụng này. Nhập tên miền bạn muốn sử dụng cho portal làm đối số cho tập lệnh shell. Ví dụ: sử dụng halo.glasswall.com làm tên miền và chạy tập lệnh:
bash create-azure-app-registrations.sh halo.glasswall.com
Truy cập Glasswall Artifact Registry
-
Bạn sẽ được cung cấp một token và token ID để truy cập Artifact Registry của Glasswall.
-
Điều này cho phép bạn trực tiếp kéo container image và Helm chart từ cụm AKS của mình.
-
Trong các bước bên dưới, token và token ID sẽ được gọi là: token và token_id.
Gán biến
Các biến được gán trước khi bạn bắt đầu
Các biến được đề cập trong Required Tools ở trên cần được gán trước khi bạn có thể bắt đầu cài đặt Glasswall Halo. Bạn sẽ cần thay thế **"..." **bằng các giá trị của riêng mình.
-
Tên nhóm tài nguyên Azure: rgp="..."
-
Tên dịch vụ Azure Kubernetes: aksname="..."
-
Tên Azure Key Vault: kvname="..."
-
Tên tài khoản lưu trữ Azure: saname="..."
-
ID token Azure container registry: token_id="..."
-
Token Azure container registry: token="..."
**Lưu ý: các bước ở trên giả định rằng mỗi tài nguyên đều nằm trong cùng một nhóm tài nguyên được gọi là: rgp. **
Các biến được gán trong các bước
Các biến sau sẽ cần được gán trong quá trình cài đặt khi các tài nguyên được tạo.
-
Chuỗi kết nối tài khoản lưu trữ Azure: saconnstring ="..."
-
Quyền truy cập managed identity vào key vault để lấy và liệt kê quyền bằng objectid: objectid ="..."
-
Quyền truy cập danh tính được quản lý vào key vault bằng client ID để cài đặt Helm: miclientid ="..."
Lưu ý: hãy đảm bảo nhà cung cấp cơ sở dữ liệu chính xác đã được thiết lập và các secret liên quan nằm trong Key Vault như đã đề cập ở Bước 3.
| Biến | nhà cung cấp |
|---|---|
Mongo | MongoDB |
Cosmos | CosmosDB |