การ Deploy แอปพลิเคชันบน AKS

Azure Compute Solutions

Florin Angelescu

Azure Cloud Architect

Deploy แอปพลิเคชัน

ปฏิเสธการ Deploy

ยอมรับการ Deploy

  • ไม่ได้ deploy คอนเทนเนอร์โดยตรง
  • ระบุสถานะที่ต้องการของแอปพลิเคชัน
  • Kubernetes จัดการส่วนที่เหลือ
Azure Compute Solutions

Deploy แอปพลิเคชัน

 

การกำหนดค่า Deployment

 

  • กำหนดผ่าน manifest:

    • จำนวน instance
    • Image ที่ใช้
    • พฤติกรรมที่ต้องการ
  • Kubernetes ควบคุมให้ตรงกับ definition ที่กำหนด

Azure Compute Solutions

จาก Image สู่ Pod

 

Deployment

 

 

  • แอปพลิเคชันที่ deploy บน AKS จะถูกแพ็กเกจเป็น container image
  • โดยทั่วไปจัดเก็บใน Azure Container Registry
Azure Compute Solutions

จาก Image สู่ Pod

Deployment

Deployment

  • AKS ดึง image ที่ระบุมาใช้งาน
  • จัดสรร pod ลงบน node ที่พร้อมใช้งานใน cluster
Azure Compute Solutions

จาก Image สู่ Pod

 

Deployment

 

  • Pod = instance ที่กำลังรันแอปพลิเคชัน

  • เมื่อกำหนด replica หลายชุด:

    • Kubernetes สร้าง pod หลายตัว
    • อาจกระจายอยู่บน node ต่างกัน
    • เพิ่มความพร้อมใช้งานและความทนทาน
Azure Compute Solutions

Deployment และ Replica

 

Deployment

 

  • Kubernetes deployment ทำหน้าที่จัดการ pod ตลอดเวลา
  • ตรวจสอบให้มี replica ทำงานถูกจำนวนเสมอ
  • สร้าง pod ใหม่โดยอัตโนมัติหาก pod ล้มเหลว
Azure Compute Solutions

Deployment และ Replica

 

Deployment

 

  • Pod ขัดข้องหรือ node ไม่พร้อมใช้งาน
  • Kubernetes ตรวจพบปัญหา
  • สร้าง pod ใหม่ที่ตำแหน่งอื่นใน cluster
Azure Compute Solutions

การเปิดเผยแอปพลิเคชัน

Replica

  • Pod อยู่ภายใน cluster และอาจเปลี่ยนแปลงได้ตลอดเวลา
  • เพื่อให้เข้าถึงแอปพลิเคชันได้ Kubernetes ใช้ service
  • Service มี endpoint ที่คงที่สำหรับส่ง traffic ไปยัง pod ที่ทำงานปกติ
Azure Compute Solutions

การเปิดเผยแอปพลิเคชัน

Replica

  • Internal service:
    • สำหรับการสื่อสารภายใน cluster เท่านั้น
Azure Compute Solutions

การเปิดเผยแอปพลิเคชัน

Replica

  • Load-balanced service (ภายนอก):
    • เปิดเผยแอปพลิเคชันสู่ภายนอก
    • ผ่านโครงสร้างพื้นฐานของ Azure
Azure Compute Solutions

การตรวจสอบสถานะแอปพลิเคชัน

 

Replica

 

  • Kubernetes แสดงข้อมูลสถานะของ:

    • Deployment
    • Pod
    • Service
  • ช่วยตรวจสอบว่า:

    • Workload ทำงานปกติ
    • ยังอยู่ระหว่างเริ่มต้น
Azure Compute Solutions

สรุป

Kubernetes

การ deploy แอปพลิเคชันบน AKS คือการประกาศ intent ไม่ใช่การจัดการคอนเทนเนอร์เอง

ระบุสิ่งที่ต้องการรัน แล้ว Kubernetes จัดการส่วนที่เหลือ ทั้งการจัดสรร pod การรีสตาร์ทเมื่อล้มเหลว และการส่ง traffic

Azure Compute Solutions

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

Azure Compute Solutions

Preparing Video For Download...