ข้อกำหนดเบื้องต้น
ก่อนที่คุณจะเริ่มกระบวนการปรับใช้ Glasswall Halo โปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งและตั้งค่าเครื่องมือและทรัพยากรต่อไปนี้แล้ว
ข้อกำหนดของระบบ
คู่มือต่อไปนี้เขียนขึ้นโดยสมมติว่าใช้งานบน Linux shell หากใช้งานบน shell อื่น คำสั่งบางรายการอาจต้องมีการปรับแก้เพื่อให้สามารถรันได้
หากใช้งานบน Windows โปรดตรวจสอบให้แน่ใจว่าคุณกำลังใช้ Windows subsystem for Linux
เครื่องมือที่จำเป็น
ทรัพยากร Azure ที่จำเป็น
1. อินสแตนซ์ AKS
-
แนะนำให้มีรวมอย่างน้อย 8 vCPU และ RAM 32 GB
-
ขนาดโหนดขั้นต่ำคือ 4 vCPU และ RAM 16 GB
-
สำหรับเวิร์กโหลดระดับ production แนะนำให้มีอย่างน้อย 2 โหนด
-
ในขั้นตอนด้านล่าง AKS cluster จะถูกอ้างถึงเป็น: aksname
หมายเหตุ: Glasswall Halo ไม่รองรับ VM โหนด arm64
สำหรับคำแนะนำในการสร้าง AKS cluster โปรดดูที่:
2. Key Vault
-
ซีเคร็ตของ Glasswall Halo ได้รับการจัดการโดยใช้ Azure Key Vault ซีเคร็ตเหล่านี้จะซิงค์เข้าสู่ AKS cluster ผ่าน External secrets.
-
ในขั้นตอนด้านล่าง Key Vault จะถูกอ้างถึงเป็น: kvname
สำหรับคำแนะนำเกี่ยวกับการสร้าง Azure Key Vault โปรดดูที่:
3. บัญชีที่เก็บข้อมูล
-
บัญชีที่เก็บข้อมูลใช้สำหรับจัดเก็บรายงานของแต่ละไฟล์ที่ประมวลผลโดยแพลตฟอร์ม SKU ของบัญชีที่เก็บข้อมูลไม่มีผลต่อประสิทธิภาพ แต่เราแนะนำให้ใช้การกำหนดค่า GRS เป็นอย่างน้อย
-
มีการใช้บัญชีที่เก็บข้อมูลเพิ่มเติมเป็น Azure file share ที่รองรับ persistent volume ของคลัสเตอร์ โดยระบบจะเพิ่มสิ่งนี้ไปยัง resource group ของคลัสเตอร์ AKS โดยอัตโนมัติ
-
ในขั้นตอนด้านล่าง บัญชีที่เก็บข้อมูลที่รวบรวมรายงาน CDR จะถูกอ้างถึงว่า: saname
File shares:
-
1 X ความจุที่จัดสรรไว้ 10 TB (throughput 1100.0 MiB/s)
- ใช้สำหรับที่เก็บไฟล์ชั่วคราวของ Glasswall Halo และ Glasswall Halo RabbitMQ
4. ฐานข้อมูล
ตัวเลือก 1 - ฐานข้อมูล MongoDB
MongoDB สามารถใช้เพื่อจัดเก็บ policy การจัดการเนื้อหาและข้อมูลของ Glasswall Halo ที่จำเป็นสำหรับการประมวลผลไฟล์แบบอะซิงโครนัส MongoDB ถูกใช้โดยบริการ cdrplatform-policy-API, cdrplatform-async-API, cdrplatform-metrics-projection, cdrplatform-tally-accumulator
-
ปรับใช้ CosmosDB ที่รองรับความเข้ากันได้กับ MongoDB API
-
ตรวจสอบให้แน่ใจว่าอินสแตนซ์ได้รับการตั้งค่าด้วย การจัดสรร throughput ที่เหมาะสม โดยขึ้นอยู่กับปริมาณข้อมูลที่คาดว่าจะส่งผ่าน Glasswall Halo
หมายเหตุ: อีกทางเลือกหนึ่งคือสามารถติดตั้ง MongoDB ได้โดยตรงภายในคลัสเตอร์ของคุณ โดยสามารถติดตั้งได้ด้วย MongoDB Helm charts ตามที่แสดงในขั้นตอนที่ 8
ตัวเลือก 2 - ฐานข้อมูล CosmosDB
อีกทางเลือกหนึ่ง สามารถใช้ CosmosDB เพื่อจัดเก็บ policy การจัดการเนื้อหาของ Glasswall Halo, ข้อมูลสำหรับการประมวลผลไฟล์แบบอะซิงโครนัส และเมตริก
-
ปรับใช้อินสแตนซ์ CosmosDB ใน Azure
- ตรวจสอบให้แน่ใจว่าอินสแตนซ์ได้รับการตั้งค่าด้วย การจัดสรร throughput ที่เหมาะสม โดยขึ้นอยู่กับปริมาณข้อมูลที่คาดว่าจะส่งผ่าน Glasswall Halo
5. การลงทะเบียนแอป
ต้องกำหนดค่าชื่อโดเมนสำหรับ Portal ของ Glasswall Halo เพื่อใช้การยืนยันตัวตนแบบ SSO
จำเป็นต้องมีการลงทะเบียนแอป Azure ทุกครั้งที่ต้องเปิดใช้งานการยืนยันตัวตนแบบ SSO โดยใช้ Azure AD
มีการลงทะเบียนแอป 3 รายการที่ต้องสร้าง:
-
cdrplatform-API-access
-
cdrplatform-portal-access
-
cdrplatform-portal-client
สคริปต์ shell ที่แนบมา ช่วยสร้างการลงทะเบียนแอปทั้ง 3 รายการนี้ ป้อนชื่อโดเมนที่คุณต้องการใช้สำหรับพอร์ทัลเป็นอาร์กิวเมนต์ให้กับสคริปต์ shell ตัวอย่างเช่น ใช้ halo.glasswall.com เป็นชื่อโดเมนและรันสคริปต์:
bash create-azure-app-registrations.sh halo.glasswall.com
การเข้าถึง Glasswall Artifact Registry
-
คุณจะได้รับ token และ token ID เพื่อเข้าถึง Glasswall's Artifact Registry
-
ซึ่งช่วยให้คุณดึง container images และ Helm charts ได้โดยตรงจากคลัสเตอร์ AKS ของคุณ
-
ในขั้นตอนด้านล่าง token และ token ID จะถูกอ้างถึงเป็น: token และ token_id.
การกำหนดตัวแปร
ตัวแปรที่กำหนดก่อนเริ่มต้น
ตัวแปรที่กล่าวถึงใน Required Tools ด้านบนจำเป็นต้องกำหนดก่อนที่คุณจะเริ่มการติดตั้ง Glasswall Halo คุณจะต้องแทนที่ **"..." **ด้วยค่าของคุณเอง
-
ชื่อ Azure resource group: rgp="..."
-
ชื่อ Azure Kubernetes service: aksname="..."
-
ชื่อ Azure Key Vault: kvname="..."
-
ชื่อ Azure storage account: saname="..."
-
Azure container registry token ID: token_id="..."
-
Azure container registry token: token="..."
**หมายเหตุ: ขั้นตอนด้านบนถือว่าทรัพยากรแต่ละรายการอยู่ใน resource group เดียวกัน ซึ่งอ้างถึงเป็น: rgp. **
ตัวแปรที่กำหนดระหว่างขั้นตอน
ตัวแปรต่อไปนี้จะต้องถูกกำหนดระหว่างกระบวนการติดตั้งเมื่อมีการสร้างทรัพยากร
-
สตริงการเชื่อมต่อ Azure storage account: saconnstring ="..."
-
สิทธิ์การเข้าถึง managed identity ไปยัง key vault สำหรับ get และ list โดยใช้ objectid: objectid ="..."
-
การเข้าถึง Managed identity ไปยัง key vault โดยใช้ client ID สำหรับการติดตั้ง Helm: miclientid ="..."
หมายเหตุ: ตรวจสอบให้แน่ใจว่าได้ตั้งค่า database provider ที่ถูกต้อง และมี secrets ที่เกี่ยวข้องอยู่ใน Key Vault ตามที่กล่าวไว้ในขั้นตอนที่ 3
| ตัวแปร | ผู้ให้บริการ |
|---|---|
Mongo | MongoDB |
Cosmos | CosmosDB |