Langkah 8 - Pasang komponen CDR.md
Akhir sekali, pasang perkhidmatan aplikasi CDR. Untuk carta ini, pastikan anda menetapkan tag imej kepada tag sepadan yang terdapat dalam nota keluaran.
Contoh di bawah telah dipraisi dengan tag untuk 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 - Perkhidmatan akses API
Perkhidmatan API Access bertindak sebagai gerbang kepada Glasswall Halo Synchronous API dan Policy Management API.
Ia mendedahkan fungsi CDR melalui HTTP. Jika persekitaran anda memerlukan HTTPS dengan TLS atau SSL, ikuti arahan pemasangan untuk mendayakan TLS atau SSL. Jika tidak, ikuti arahan untuk pemasangan tanpa TLS atau SSL.
8.3A - Untuk deployment tanpa 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 - Untuk deployment dengan TLS/SSL
Untuk menggunakan sijil SSL pada CDR API, cipta kunci peribadi dan sijil bagi domain yang akan digunakan.
Cipta secret Kubernetes menggunakan fail key dan CRT dengan menggunakan arahan di bawah. Dengan arahan ini, kita mencipta secret bernama "tls-secret" daripada fail server.key (kunci peribadi) dan server.crt (sijil). Dalam contoh ini, key tersebut tidak sepatutnya dilindungi dengan frasa laluan.
kubectl create secret tls tls-secret --key server.key --cert server.crt
Rahsia ini kemudiannya boleh digunakan untuk mendayakan TLS pada ingress bagi memastikan nama domain ditetapkan pada arahan di bawah:
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 - Dayakan akses pentadbir tanpa pengesahan
Apabila log masuk Single Sign-On (SSO) tidak didayakan dalam portal, ciri pentadbiran seperti pengurusan lesen dan konfigurasi policy tidak boleh diakses. Untuk mendayakan akses kepada ciri pentadbir ini tanpa menyediakan SSO, deploy carta Helm dengan konfigurasi berikut:
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 - Untuk mendayakan pengesahan API asas
Authentication dalam Glasswall Halo dinyahdayakan secara lalai; apabila didayakan, authentication akan didayakan untuk kedua-dua Glasswall Halo Synchronous API dan Policy Management API. Jika authentication perlu didayakan:
-
Cipta dua secret dalam Google Secrets Manager: satu untuk ID organisasi dan satu lagi untuk token organisasi.
- Apabila menentukan berbilang token, asingkannya dengan koma.
- Pastikan token individu tidak mengandungi koma.
-
Secret dalam Google Secrets Manager mesti mengikut konvensyen penamaan di bawah.
-
Secret ID organisasi
- Mesti bermula dengan
organisation - Mesti berakhir dengan
-id - Sertakan indeks berangka antara awalan dan akhiran
- Contoh:
organisation0-id,organisation1-id,organisation2-id
- Mesti bermula dengan
-
Rahsia token organisasi
- Mesti bermula dengan
organisation - Mesti berakhir dengan
-tokens - Sertakan indeks berangka antara awalan dan akhiran
- Contoh:
organisation0-tokens,organisation1-tokens,organisation2-tokens
- Mesti bermula dengan
-
-
Tetapkan
configuration.AuthenticationScheme=Basicsemasa menggunakan carta Helm. Contohnya:
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
Untuk deploy perkhidmatan Halo Portal, jalankan arahan di bawah.
8.4A - Untuk deployment tanpa TLS/SSL
Nota: ip_address yang disebut dalam arahan ini merujuk kepada alamat IP awam load balancer. Ini boleh diperoleh melalui langkah "Portal & API Access" di bawah.
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 - Untuk deployment dengan TLS/SSL
Jika TLS diperlukan, tambah parameter --set ingress.tls.enable_tls=true dan tetapkan portal_domain=<domain name>.
Dalam contoh di bawah, secret Kubernetes yang sama yang dicipta untuk perkhidmatan API Access digunakan untuk mendapatkan sijil 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 - Akses Portal
Perkhidmatan akses Portal bertindak sebagai backend untuk Halo Portal. Ia membolehkan Halo Portal mengakses Policy Management API dan Synchronous API.
8.5A - Untuk deployment dengan TLS/SSL
Jika TLS diperlukan, tambahkan parameter --set ingress.tls.enable_tls=true dan --set ingress.tls.domain=<domain name>.
Dalam contoh di bawah, secret Kubernetes yang sama yang dicipta untuk perkhidmatan akses API digunakan untuk mendapatkan sijil 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 - Untuk deployment tanpa TLS/SSL dan authentication
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
Operator MongoDB
helm install community-operator mongodb/community-operator --namespace cdrplatform \
--set operator.version=0.9.0 \
--set agent.version=107.0.0.8465-1
Pemasangan MongoDB
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=gcp
- Dapatkan rentetan sambungan daripada secret Kubernetes
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- Kemas kini secret Kubernetes dengan rentetan sambungan MongoDB (buang dan cipta semula)
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
API Pengurusan Policy digunakan untuk mengurus policy bagi flag pengurusan kandungan Glasswall Halo. Ini ialah perkhidmatan pilihan; pasang ini jika anda ingin mencipta dan menggunakan policy tersuai.
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
Halaman swagger Policy API boleh diakses menggunakan
http://<ip>/swagger/index.html
8.8 - API pengurusan lesen
Perkhidmatan pengurusan lesen digunakan untuk mengurus lesen dalam 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 - Bersihkan perkhidmatan
Perkhidmatan pembersihan memadam fail asal dan fail yang dibina semula daripada storan berterusan selepas fail diproses.
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 Asynchronous
API Asynchronous boleh digunakan menggunakan arahan di bawah. Pangkalan data MongoDB ialah prasyarat untuk API Asynchronous.
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 - Unjuran metrik
Perkhidmatan unjuran metrik digunakan untuk menarik data pelaporan daripada MongoDB untuk dipaparkan dalam 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 - Pengekstrak laporan
Perkhidmatan Report extractor mengekstrak laporan analisis dan menerbitkannya untuk pelaporan.
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 - Pengumpul tally
Perkhidmatan Tally accumulator menjejak dan mengekalkan tally statistik penggunaan.
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 - Perkhidmatan pemantauan storan
Perkhidmatan pemantauan storan menyediakan API untuk melanggan dan menjejak perubahan yang dibuat pada dokumen dalam perkhidmatan storan yang dikonfigurasikan seperti SharePoint dan OneDrive.
TLS mesti didayakan untuk Webhook.
- Tambahkan parameter
--set ingress.tls.enable_tls=truedan--set ingress.tls.domain=<domain name>.
Dalam contoh di bawah, secret Kubernetes yang sama yang dicipta untuk perkhidmatan API Access digunakan untuk mendapatkan sijil 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 - Penskalaan Prometheus pilihan
Pasang carta penskalaan Prometheus hanya jika anda mahu mendayakan penskalaan berasaskan 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 - Akses Portal & API
Gunakan arahan di bawah untuk menentukan external-IP yang dikaitkan dengan kluster anda:
Nota: external-IP akan sama seperti alamat IP awam yang dilampirkan pada pengimbang beban AWS.
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'
Anda kini boleh menggunakan IP yang dikembalikan di atas untuk pergi ke dokumentasi Portal dan API.
Nota: gunakan HTTPs jika TLS didayakan.
Portal: http://<ip>
API documentation: http://<ip>/swagger/index.html
Tahniah, anda telah berjaya deploy Glasswall Halo!