ข้ามไปยังเนื้อหาหลัก

ข้อกำหนดเบื้องต้น

ก่อนที่คุณจะเริ่มกระบวนการปรับใช้ Glasswall Halo โปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งและตั้งค่าเครื่องมือและทรัพยากรต่อไปนี้แล้ว

ข้อกำหนดของระบบ

คู่มือต่อไปนี้เขียนขึ้นโดยสมมติว่าใช้งานบน Linux shell หากใช้งานบน shell อื่น คำสั่งบางรายการอาจต้องมีการปรับแก้เพื่อให้สามารถรันได้

หากใช้งานบน Windows โปรดตรวจสอบให้แน่ใจว่าคุณกำลังใช้ Windows subsystem for Linux

เครื่องมือที่จำเป็น

  • Helm > 3.8 (เพื่อเปิดใช้งานการรองรับ OCI repositories อย่างเต็มรูปแบบ)

  • Kubectl

  • Azure CLI

ทรัพยากร 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

ตัวแปรผู้ให้บริการ
MongoMongoDB
CosmosCosmosDB