Langkau ke kandungan utama

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
    • 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
  • Tetapkan configuration.AuthenticationScheme=Basic semasa 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=true dan --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!