चरण 7 - CDR components इंस्टॉल करें
अंत में, Glasswall Halo application services इंस्टॉल करें। प्रत्येक Helm chart के लिए, सुनिश्चित करें कि image tag release notes में सूचीबद्ध संबंधित version पर सेट हो।
नीचे दिए गए उदाहरण v2.18.1 के टैग्स के साथ पहले से भरे हुए हैं।
7.1 - Engine
Halo को ReversingLabs के साथ एकीकृत करने के लिए, enable_reversing_labs वेरिएबल को true पर सेट करें। सुनिश्चित करें कि ReversingLabs secrets AWS Secrets Manager में बनाए गए हैं, जैसा कि Step 3 में वर्णित है।
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=aws \
--timeout 10m \
--atomic
7.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=aws
7.3 - API Access सेवा
API Access सेवा Glasswall Halo Synchronous API और Policy Management API के लिए एक gateway के रूप में कार्य करती है।
यह HTTP पर CDR कार्यक्षमता उपलब्ध कराता है। यदि आपके environment में TLS या SSL के साथ HTTPS आवश्यक है, तो TLS या SSL सक्षम करके सेवा इंस्टॉल करने के निर्देशों का पालन करें। अन्यथा, TLS या SSL के बिना इंस्टॉलेशन के निर्देशों का पालन करें।
7.3A - tls/ssl के बिना deployments के लिए
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--atomic
7.3B - TLS या SSL के साथ Deployments
CDR API के साथ SSL certificates का उपयोग करने के लिए, आवश्यक domain के लिए एक private key और certificate बनाएं।
Create a Kubernetes secret from the private key and certificate files using the command below. This command creates a secret named tls-secret using server.key as the private key and server.crt as the certificate.
इस उदाहरण में, private key passphrase-protected नहीं होनी चाहिए।
kubectl create secret tls tls-secret --key server.key --cert server.crt
इसके बाद इस secret का उपयोग ingress पर TLS सक्षम करने के लिए किया जा सकता है, यह सुनिश्चित करते हुए कि नीचे दिए गए कमांड में domain name सेट हो:
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set cloud_provider=aws \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--atomic
7.3C - API authentication सक्षम करें
Glasswall Halo API के लिए authentication डिफ़ॉल्ट रूप से अक्षम होता है। authentication सक्षम करने के लिए, नीचे दिए गए चरण पूरे करें।
-
AWS Secrets Manager में दो secret बनाएँ।
- organisation ID के लिए एक secret
- संगठन टोकन के लिए एक secret
एकाधिक tokens निर्दिष्ट करते समय, उन्हें commas से अलग करें। सुनिश्चित करें कि अलग-अलग tokens में commas न हों।
-
AWS Secrets Manager में secrets को नीचे दिए गए naming conventions का पालन करना चाहिए।
-
Organisation ID secret
- की शुरुआत
organisationसे होनी चाहिए - का अंत
-idसे होना चाहिए - प्रिफ़िक्स और सफ़िक्स के बीच एक संख्यात्मक इंडेक्स शामिल करें
- उदाहरण:
organisation0-id,organisation1-id,organisation2-id
- की शुरुआत
-
Organisation tokens secret
- की शुरुआत
organisationसे होनी चाहिए - का अंत
-tokensसे होना चाहिए - प्रिफ़िक्स और सफ़िक्स के बीच एक संख्यात्मक इंडेक्स शामिल करें
- उदाहरण:
organisation0-tokens,organisation1-tokens,organisation2-tokens
- की शुरुआत
-
-
Helm chart deploy करते समय
configuration.AuthenticationScheme=Basicसेट करें। उदाहरण के लिए:
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.AuthenticationScheme=Basic \
--atomic
7.4 - MongoDB
नोट: यदि आपने पहले AWS के भीतर MongoDB को configure और setup किया है और यदि आप अपने cluster के भीतर MongoDB को manage और install नहीं करना चाहते हैं, तो आप इस चरण को छोड़ सकते हैं, और नीचे Portal Services की installation पर आगे बढ़ सकते हैं।
MongoDB ऑपरेटर
helm install community-operator mongodb/community-operator --namespace cdrplatform \
--set operator.version=0.9.0 \
--set agent.version=107.0.0.8465-1 \
--atomic
MongoDB इंस्टॉल करें
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=aws
MongoDB deploy होने के बाद, MongoDB connection string प्राप्त करें और उसे AWS Secrets Manager में store करें।
- k8s secret से connection string प्राप्त करें
mongodb_conn_str=$(kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d)
- AWS Secrets Manager में MongoDB connection string के साथ एक नया secret बनाएँ।
aws secretsmanager create-secret --name "mongodb-connectionstring" --secret-string "${mongodb_conn_str}" --region "${region}"
7.5 - Portal
Portal service को deploy करने के लिए, नीचे दिए गए commands चलाएँ।
7.5A - TLS या SSL के बिना deployments
नोट: इन commands में संदर्भित <ip-address> load balancer का public IP address है। इसे नीचे दिए गए Portal and API Access steps का पालन करके प्राप्त किया जा सकता है।
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.OIDC=null \
--set image.tag=2.18.1-183506 \
--set configuration.BackendUrl=http://<ip-address> \
--set configuration.HaloVersion=2.18.1 \
--atomic
7.5B - TLS या SSL के साथ deployments
यदि TLS आवश्यक है, तो --set ingress.tls.enable_tls=true और --set ingress.tls.domain=<domain_name> parameters जोड़ें।
नीचे दिए गए उदाहरण में, TLS certificates प्राप्त करने के लिए API Access service के लिए बनाया गया वही Kubernetes secret उपयोग किया जाता है।
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=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--set configuration.BackendUrl=https://${domain_name} \
--set configuration.OIDC=null \
--set configuration.HaloVersion=2.18.1 \
--atomic
7.5C - Authentication के बिना admin access सक्षम करें
जब Portal के लिए Single Sign On login सक्षम नहीं होता है, तब license management और policy configuration जैसी administrative features सुलभ नहीं होती हैं।
SSO configure किए बिना इन administrative features तक access सक्षम करने के लिए, निम्न configuration के साथ Helm chart deploy करें।
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
7.5D - APIs को authenticate करने के लिए Halo Portal configure करें
यदि API authentication सक्षम है, तो ${organisation1_id} और ${organisation1_tokens} को AWS Secrets Manager में बनाए गए उपयुक्त secret names से बदलें।
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=2.18.1-183506 --set image.registry=glasswallhub.azurecr.io \
--set configuration.EnableAuth=true \
--set AuthSecrets.orgIdKey=${organisation1-id} \
--set AuthSecrets.orgTokenKey=${organisation1-tokens} \
--atomic
7.6 - Policy Management API
Policy Management API का उपयोग Glasswall Halo content management flags के लिए policies को प्रबंधित करने के लिए किया जाता है। यह एक वैकल्पिक सेवा है, यदि आप custom polices बनाना और उपयोग करना चाहते हैं तो इसे इंस्टॉल करें।
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=aws \
--atomic
Policy API swagger page को निम्न का उपयोग करके एक्सेस किया जा सकता है
http://<ip>/swagger/index.html
7.7 - Portal access
Portal Access सेवा, Portal के लिए backend के रूप में कार्य करती है। यह Portal को Policy Management API और Synchronous API तक पहुंचने में सक्षम बनाती है।
7.7A - TLS या SSL के साथ डिप्लॉयमेंट्स
यदि TLS आवश्यक है, तो --set ingress.tls.enable_tls=true और --set ingress.tls.domain=<domain_name> parameters जोड़ें।
नीचे दिए गए उदाहरण में, TLS certificates प्राप्त करने के लिए API Access service के लिए बनाया गया वही Kubernetes secret उपयोग किया जाता है।
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
7.7B - TLS/SSL के बिना डिप्लॉयमेंट्स के लिए
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
7.8 - लाइसेंस प्रबंधन
लाइसेंस प्रबंधन सेवा का उपयोग 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 \
--set cloud_provider=aws \
--atomic
7.9 - क्लीन अप सेवा
क्लीन अप सेवा फ़ाइलों के प्रोसेस होने के बाद persistent storage से मूल और पुनर्निर्मित फ़ाइलों को हटा देती है।
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set cloud_provider=aws \
--atomic
7.10 - Asynchronous API
Asynchronous API को नीचे दिए गए कमांड का उपयोग करके डिप्लॉय किया जा सकता है। Async API के लिए MongoDB डेटाबेस एक पूर्वापेक्षा है।
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=aws \
--atomic
7.11 - Metrics projection
Metrics projection सेवा का उपयोग MongoDB से reporting data खींचकर उसे 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=aws \
--atomic
7.12 - Report extractor
Report extractor सेवा विश्लेषण रिपोर्टों को निकालती है और उन्हें रिपोर्टिंग के लिए प्रकाशित करती है।
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=aws \
--atomic
7.13 - Tally accumulator
Tally accumulator सेवा उपयोग सांख्यिकी की गणना को ट्रैक करती है और बनाए रखती है।
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=aws \
--atomic
7.14 - Storage monitoring service
Storage Monitoring सेवा configured storage services जैसे SharePoint में documents पर किए गए परिवर्तनों को subscribe करने और track करने के लिए एक API प्रदान करती है।
webhook के लिए TLS सक्षम होना चाहिए।
--set ingress.tls.enable_tls=true और --set ingress.tls.domain=<domain_name> parameters जोड़ें।
नीचे दिए गए उदाहरण में, TLS certificates प्राप्त करने के लिए API Access service के लिए बनाया गया वही Kubernetes secret उपयोग किया जाता है।
helm upgrade --install cdrplatform-storage-monitor cdrplatform-storage-monitor --wait --atomic \
--set image.tag="2.18.1-183506" \
--set image.registry="glasswallhub.azurecr.io" \
--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
7.15 - वैकल्पिक Prometheus scaling
Prometheus scaling chart केवल तभी install करें जब आप Prometheus-based scaling सक्षम करना चाहते हों।
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>
7.16 - Portal और API access
अपने cluster से संबद्ध external-ip निर्धारित करने के लिए नीचे दिया गया command उपयोग करें:
नोट: external-ip AWS load balancer से जुड़ा public ip address जैसा ही होगा।
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].hostname}'
अब आप ऊपर लौटाए गए IP का उपयोग करके Portal और API documentation पर जा सकते हैं (यदि TLS enabled है तो https उपयोग करें):
Portal: http://<ip>
API documentation: http://<ip>/swagger