การกำหนดค่าแอปพลิเคชันใน AKS

Azure Compute Solutions

Florin Angelescu

Azure Cloud Architect

การกำหนดค่าแอปพลิเคชันใน AKS

 

การกำหนดค่า

 

  • การกำหนดค่าเปลี่ยนแปลงบ่อย
  • Connection strings, feature flags และค่า environment แตกต่างกันในแต่ละสภาพแวดล้อม:

    • Development
    • Testing
    • Production
  • การ rebuild container image ทุกครั้งนั้นไม่มีประสิทธิภาพและเสี่ยงต่อข้อผิดพลาด

Azure Compute Solutions

การกำหนดค่าแอปพลิเคชันใน AKS

 

โค้ด

 

 

  • แยกโค้ดแอปพลิเคชันออกจากการกำหนดค่า
  • อัปเดตพฤติกรรมได้โดยไม่ต้อง redeploy image
Azure Compute Solutions

Environment variables

 

การกำหนดค่า

 

 

การกำหนดค่าแอปพลิเคชันใน Kubernetes:

  • Environment variables
Azure Compute Solutions

Environment variables

 

การกำหนดค่า

 

 

การกำหนดค่าแอปพลิเคชันใน Kubernetes:

  • Environment variables
  • ถูก inject เข้า container เมื่อ pod เริ่มทำงาน
  • แอปพลิเคชันที่รันอยู่เข้าถึงได้ทันที
Azure Compute Solutions

Environment variables

 

การกำหนดค่า

 

 

ใช้ environment variables สำหรับ:

  • ชื่อ environment
  • ระดับ logging
  • URL ของ external service
Azure Compute Solutions

ConfigMaps

ConfigMaps

  • Kubernetes resource สำหรับเก็บข้อมูลการกำหนดค่าที่ไม่ใช่ข้อมูลละเอียดอ่อน:
    • URLs
    • Feature flags
    • ไฟล์ settings ขนาดเล็ก
Azure Compute Solutions

ConfigMaps

ConfigMaps

ConfigMap

  • คู่ key-value
  • ไฟล์ขนาดเล็ก
Azure Compute Solutions

ConfigMaps

ConfigMaps

  • แอปพลิเคชันอ่านค่าได้ในรูปแบบ:
    • Environment variables
    • ไฟล์ที่ mount ภายใน container
Azure Compute Solutions

ConfigMaps

ConfigMaps

เปลี่ยนการกำหนดค่าได้โดยไม่ต้อง rebuild หรือ redeploy container image

Azure Compute Solutions

ConfigMaps

 

ConfigMaps

 

 

 

  • ใช้ร่วมกันได้หลายแอปพลิเคชัน
  • ช่วยให้ระบบขนาดใหญ่มีความสอดคล้องกัน
Azure Compute Solutions

Secrets

 

 

ConfigMaps

 

Secrets

  • คล้ายกับ ConfigMaps:

    • ออกแบบมาสำหรับข้อมูลละเอียดอ่อน
    • รหัสผ่าน
    • API keys
    • Database connection strings
  • Secrets ถูกเก็บอย่างปลอดภัยยิ่งขึ้นภายใน cluster

Azure Compute Solutions

Secrets

 

 

ConfigMaps

 

  • Pod อ้างอิง Secrets ในรูปแบบ:

    • Environment variables
    • ไฟล์
  • ข้อมูลละเอียดอ่อนจะไม่:

    • ถูกฝังไว้ใน container image
    • ปรากฏในซอร์สโค้ด
  • ให้แอปพลิเคชันเข้าถึงสิ่งที่จำเป็นได้อย่างปลอดภัย

Azure Compute Solutions

การอัปเดตการกำหนดค่า

 

 

ConfigMaps

 

  • การแยกการกำหนดค่าออกจาก container image:

    • อัปเดต ConfigMaps และ Secrets ได้อิสระจากโค้ดแอปพลิเคชัน
  • Kubernetes จัดส่งการกำหนดค่าที่อัปเดตให้ pod ใหม่โดยอัตโนมัติ

  • การ rollout การเปลี่ยนแปลงเป็นไปอย่างคาดเดาได้

  • ลดความเสี่ยงของการเกิดข้อผิดพลาดในสภาพแวดล้อม production
Azure Compute Solutions

สรุป

โค้ด

  • แยก container image และการกำหนดค่าออกจากกันอย่างชัดเจน
  • ใช้ environment variables, ConfigMaps และ Secrets
  • ปรับแอปพลิเคชันให้เหมาะกับแต่ละสภาพแวดล้อมโดยไม่ต้อง rebuild image
Azure Compute Solutions

มาฝึกกันเถอะ!

Azure Compute Solutions

Preparing Video For Download...