Bước 8 - Cài đặt các thành phần CDR.md
Cuối cùng, hãy cài đặt các dịch vụ ứng dụng CDR. Đối với các chart này, hãy đảm bảo bạn đặt image tag thành tag tương ứng được tìm thấy trong ghi chú phát hành.
Các ví dụ bên dưới đã được điền sẵn các tag cho v2.18.1:
8.1 - Engine
enable_reversing_labs=""
helm upgrade --install cdrplatform-engine cdrplatform-engine \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.ENABLE_REVERSING_LABS="${enable_reversing_labs}" \
--set cloud_provider=gcp \
--atomic
8.2 - Synchronous API
helm upgrade --install cdrplatform-sync-api cdrplatform-sync-api \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.3 - Dịch vụ truy cập API
Dịch vụ API Access hoạt động như một cổng vào Glasswall Halo Synchronous API và Policy Management API.
Nó cung cấp chức năng CDR qua HTTP. Nếu môi trường của bạn yêu cầu HTTPS với TLS hoặc SSL, hãy làm theo hướng dẫn cài đặt để bật TLS hoặc SSL. Nếu không, hãy làm theo hướng dẫn cài đặt không dùng TLS hoặc SSL.
8.3A - Dành cho các triển khai không có TLS/SSL
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--atomic
8.3B - Dành cho các triển khai có TLS/SSL
Để sử dụng chứng chỉ SSL trên CDR API, hãy tạo khóa riêng tư và chứng chỉ cho miền sẽ được sử dụng.
Tạo một Kubernetes secret bằng cách sử dụng các tệp key và CRT với lệnh bên dưới. Với lệnh này, chúng ta tạo một secret có tên "tls-secret" từ các tệp server.key (khóa riêng) và server.crt (chứng chỉ). Trong ví dụ này, key không được bảo vệ bằng passphrase.
kubectl create secret tls tls-secret --key server.key --cert server.crt
Secret này sau đó có thể được օգտագործ để bật TLS trên ingress, bảo đảm rằng tên miền được đặt trong lệnh bên dưới:
domain_name=""
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--atomic
8.3C - Bật quyền truy cập quản trị mà không cần xác thực
Khi đăng nhập Single Sign-On (SSO) chưa được bật trong portal, các tính năng quản trị, chẳng hạn như quản lý giấy phép và cấu hình policy, sẽ không thể truy cập. Để bật quyền truy cập vào các tính năng quản trị này mà không cần thiết lập SSO, hãy triển khai Helm chart với cấu hình sau:
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AutoAdmin="true" \
--atomic
8.3D - Để bật xác thực API cơ bản
Authentication trong Glasswall Halo bị tắt theo mặc định; khi được bật, authentication sẽ được bật cho cả Glasswall Halo Synchronous API và Policy Management API. Nếu cần bật authentication:
-
Tạo hai secret trong Google Secrets Manager: một secret cho organisation ID và một secret cho các organisation token.
- Khi chỉ định nhiều token, hãy phân tách chúng bằng dấu phẩy.
- Đảm bảo rằng từng token riêng lẻ không chứa dấu phẩy.
-
Các secret trong Google Secrets Manager phải tuân theo các quy ước đặt tên bên dưới.
-
Secret ID tổ chức
- Phải bắt đầu bằng
organisation - Phải kết thúc bằng
-id - Bao gồm một chỉ mục số giữa tiền tố và hậu tố
- Ví dụ:
organisation0-id,organisation1-id,organisation2-id
- Phải bắt đầu bằng
-
Secret token của tổ chức
- Phải bắt đầu bằng
organisation - Phải kết thúc bằng
-tokens - Bao gồm một chỉ mục số giữa tiền tố và hậu tố
- Ví dụ:
organisation0-tokens,organisation1-tokens,organisation2-tokens
- Phải bắt đầu bằng
-
-
Đặt
configuration.AuthenticationScheme=Basickhi triển khai Helm chart. Ví dụ:
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.AuthenticationScheme=Basic \
--atomic
8.4 - Portal
Để triển khai dịch vụ Halo Portal, hãy chạy các lệnh bên dưới.
8.4A - Dành cho các triển khai không có TLS/SSL
Lưu ý: ip_address được đề cập trong lệnh này là địa chỉ IP công khai của load balancer. Có thể lấy địa chỉ này thông qua các bước "Portal & API Access" bên dưới.
ip_address=""
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.BackendUrl="${ip_address}" \
--set image.tag=2.18.1-183506 \
--set configuration.HaloVersion=2.18.1 \
--set configuration.OIDC=null
8.4B - Dành cho các triển khai có TLS/SSL
Nếu yêu cầu TLS, hãy thêm tham số --set ingress.tls.enable_tls=true và đặt portal_domain=<domain name>.
Trong ví dụ bên dưới, cùng một Kubernetes secret được tạo cho dịch vụ API Access được dùng để lấy các chứng chỉ TLS.
portal_domain=""
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.BackendUrl="https://${portal_domain}" \
--atomic
8.5 - Truy cập Portal
Dịch vụ truy cập Portal hoạt động như một backend cho Halo Portal. Dịch vụ này cho phép Halo Portal truy cập Policy Management API và Synchronous API.
8.5A - Dành cho các triển khai có TLS/SSL
Nếu требуется TLS, hãy thêm các tham số --set ingress.tls.enable_tls=true và --set ingress.tls.domain=<domain name>.
Trong ví dụ bên dưới, cùng một Kubernetes secret được tạo cho dịch vụ truy cập API được sử dụng để truy xuất các chứng chỉ TLS.
domain_name=""
helm upgrade --install cdrplatform-portal-access cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AuthenticationScheme=None \
--atomic
8.5B - Dành cho các triển khai không có TLS/SSL và xác thực
helm upgrade --install cdrplatform-portal-access cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.AuthenticationScheme=None \
--set image.tag=2.18.1-183506 \
--atomic
8.6 - MongoDB
Toán tử MongoDB
helm install community-operator mongodb/community-operator --namespace cdrplatform \
--set operator.version=0.9.0 \
--set agent.version=107.0.0.8465-1
Cài đặt MongoDB
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=gcp
- Truy xuất chuỗi kết nối từ Kubernetes secret
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- Cập nhật Kubernetes secret bằng chuỗi kết nối MongoDB (xóa và tạo lại)
kubectl create secret generic cdrplatform-secrets -n cdrplatform --from-literal=mongodb-cdrp-password=<Add-Value> --from-literal=mongodb-admin-password=<Add-Value> --from-literal=mongodb-connectionstring=<Add-Value>
8.7 - Policy Management API
Policy Management API được sử dụng để quản lý các policy cho các cờ quản lý nội dung của Glasswall Halo. Đây là một dịch vụ tùy chọn, hãy cài đặt dịch vụ này nếu bạn muốn tạo và sử dụng các policy tùy chỉnh.
helm upgrade --install cdrplatform-policy-api cdrplatform-policy-api \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set cloud_provider=gcp
Có thể truy cập trang swagger của Policy API bằng cách sử dụng
http://<ip>/swagger/index.html
8.8 - API quản lý giấy phép
Dịch vụ License management được sử dụng để quản lý giấy phép trong Glasswall Halo.
helm upgrade --install cdrplatform-license-management cdrplatform-license-management -n license-management\
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
-n license-management
8.9 - Dọn dẹp dịch vụ
Dịch vụ Clean up xóa các tệp gốc và các tệp đã được dựng lại khỏi bộ nhớ lưu trữ bền vững sau khi các tệp được xử lý.
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp \
--set image.tag=2.18.1-183506
8.10 - API bất đồng bộ
API bất đồng bộ có thể được triển khai bằng lệnh bên dưới. Cơ sở dữ liệu MongoDB là điều kiện tiên quyết cho API bất đồng bộ.
helm upgrade --install cdrplatform-async-api cdrplatform-async-api \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.11 - Chiếu số liệu
Dịch vụ chiếu số liệu được dùng để lấy dữ liệu báo cáo từ MongoDB nhằm hiển thị trong Portal UI.
helm upgrade --install cdrplatform-metrics-projection cdrplatform-metrics-projection \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.12 - Trình trích xuất báo cáo
Dịch vụ Report extractor trích xuất các báo cáo phân tích và phát hành chúng để phục vụ báo cáo.
helm upgrade --install cdrplatform-report-extractor cdrplatform-report-extractor \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.13 - Bộ tích lũy tally
Dịch vụ Tally accumulator theo dõi và duy trì số liệu thống kê sử dụng.
helm upgrade --install cdrplatform-tally-accumulator cdrplatform-tally-accumulator \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.14 - Dịch vụ giám sát lưu trữ
Dịch vụ giám sát lưu trữ cung cấp một API để đăng ký và theo dõi các thay đổi được thực hiện đối với tài liệu trong các dịch vụ lưu trữ đã cấu hình như SharePoint và OneDrive.
TLS phải được bật cho Webhook.
- Thêm các tham số
--set ingress.tls.enable_tls=truevà--set ingress.tls.domain=<domain name>.
Trong ví dụ bên dưới, cùng một Kubernetes secret được tạo cho dịch vụ API Access được dùng để lấy các chứng chỉ TLS.
domain_name=""
helm upgrade --install cdrplatform-storage-monitor cdrplatform-storage-monitor --wait --atomic \
--set image.tag="2.18.1-183506" \
--set image.repository="glasswallhub.azurecr.io/cdrplatform-storage-monitor" \
--set configuration.DATABASE__Provider="${database_provider}" \
--set configuration.WEBHOOKS__CallbackBaseAddress="https://${domain_name}" \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--atomic
8.15 - Tùy chọn mở rộng quy mô Prometheus
Chỉ cài đặt chart mở rộng quy mô Prometheus nếu bạn muốn bật tính năng mở rộng quy mô dựa trên Prometheus.
helm upgrade --install prometheus-scaling prometheus-scaling --wait --atomic \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=3.10.0 \
--set imagePullSecrets[0].name=acr-secret \
--set keda.icap.enabled=<true|false>
8.16 - Truy cập Portal & API
Sử dụng lệnh bên dưới để xác định external-IP được liên kết với cụm của bạn:
Lưu ý: external-IP sẽ giống với địa chỉ IP công khai được gắn với bộ cân bằng tải AWS.
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'
Bây giờ bạn có thể sử dụng IP được trả về ở trên để truy cập tài liệu Portal và API.
Lưu ý: sử dụng HTTPs nếu TLS được bật.
Portal: http://<ip>
API documentation: http://<ip>/swagger/index.html
Chúc mừng, bạn đã triển khai thành công Glasswall Halo!