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

วิธีติดตั้ง Nginx Ingress Controller และ SSL บน Kubernetes

เรียนรู้วิธีตั้งค่า Nginx Ingress Controller บน Kubernetes พร้อมปรับใช้งานแอปพลิเคชันและออกใบรับรอง SSL ด้วย cert-manager เพื่อรองรับ HTTPS อย่างสมบูรณ์

เรียบเรียงโดย AI
Inewgen
10 Sep 2026ที่มา: Dev.to2 นาทีอ่าน (0 ครั้ง)
แชร์
วิธีติดตั้ง Nginx Ingress Controller และ SSL บน Kubernetes

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • การใช้งาน Nginx Ingress Controller ช่วยทำหน้าที่เป็นจุดเข้าใช้งานหลักและจัดการทราฟฟิกขาเข้า
  • คู่มือนี้ครอบคลุมการติดตั้งผ่าน Helm และการ deploy แอปพลิเคชันตัวอย่างสองตัว
  • สามารถออกใบรับรอง SSL อัตโนมัติด้วย Let's Encrypt และ cert-manager
  • รองรับการตั้งค่า DNS และกำหนดค่า Ingress resource เพื่อเชื่อมต่อผ่าน HTTPS

Nginx Ingress Controller เป็นเครื่องมือจัดการ Ingress บน Kubernetes ที่ได้รับความนิยมสูง ทำหน้าที่เป็นรีเวอร์สพร็อกซีและตัวกระจายโหลดเพื่อส่งผ่านทราฟฟิกภายนอกเข้ามายังคลัสเตอร์ โดยเป็นจุดเข้าใช้งานเดี่ยวที่มีความสามารถทั้งการยกเลิก SSL/TLS การกระจายโหลด การจัดการเซสชัน และการกำหนดเส้นทางตามพาธ

ก่อนเริ่มต้นใช้งาน ผู้ดูแลระบบจำเป็นต้องเตรียมคลัสเตอร์ Kubernetes ที่มีโหนดอย่างน้อย 2 โหนด พร้อมติดตั้งเครื่องมือ kubectl และ Helm รวมถึงเตรียมชื่อโดเมนสำหรับใช้งานจริง

  • เพิ่มรีโปสิทอรี Helm ของ Nginx Ingress: helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  • อัปเดต Helm: helm repo update
  • ติดตั้ง Nginx Ingress Controller: helm install ingress-nginx ingress-nginx/ingress-nginx
  • ตรวจสอบสถานะโหลดบาลานเซอร์ที่ถูกสร้างขึ้นอัตโนมัติ: kubectl get services ingress-nginx-controller

ขั้นตอนถัดมาคือการติดตั้ง cert-manager เวอร์ชัน v1.17.2 เพื่อใช้จัดการและออกใบรับรอง SSL ให้กับแอปพลิเคชัน โดยสามารถนำเข้าใบรับรองเชิงพาณิชย์เพิ่มเติมได้ตามต้องการ และตรวจสอบพอด, เซอร์วิส, และรีพลิเคชันเซ็ตในเนมสเปซ cert-manager

การใช้งาน Ingress Controller ร่วมกับ cert-manager ถือเป็นมาตรฐานสากลในการรักษาความปลอดภัยให้กับแอปพลิเคชันที่รันอยู่บน Kubernetes เพราะช่วยลดความซับซ้อนในการจัดการใบรับรอง SSL/TLS ที่ต้องต่ออายุอยู่เสมอ และทำให้การกำหนดเส้นทางทราฟฟิกมีความยืดหยุ่นสูงผ่านคอนฟิกูเรชันไฟล์เดียว

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

kubernetes command line terminal laptop workspace no logo

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ในส่วนของการทดสอบระบบ นักพัฒนาสามารถสร้างแอปพลิเคชันตัวอย่างสองตัวคือ app1 และ app2 โดยใช้ภาพ hashicorp/http-echo พร้อมกำหนดอาร์กิวเมนต์ข้อความต้อนรับ และสร้างเซอร์วิสเพื่อเชื่อมต่อไปยังพอร์ตของแต่ละแอปพลิเคชัน

  • สร้างไฟล์ Manifest สำหรับ Deployment ของ app1 และ app2
  • ติดตั้งเซอร์วิส app1-svc และ app2-svc ผ่านคำสั่ง kubectl apply
  • กำหนดค่า DNS record แบบ A สำหรับซับโดเมนทั้งสองให้ชี้ไปยัง External IP ของโหลดบาลานเซอร์
  • สร้าง Ingress resource สำหรับแต่ละแอปพลิเคชันพร้อมระบุ annotations ของ cert-manager

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้