Kubernetes Ingress
เราเคยสอนการใช้ Service เบื้องต้นในการเปิดให้ผู้ใช้สามารถเข้ามาใช้งาน Application ของเราได้แล้ว ที่นี้ถ้าทำ Monolithic ปกติก็คงเพียงพอ แต่ถ้าจะเริ่มทำ Microservice แล้วละก็ การที่ต้องมานั่งเปิด Port ให้ Service เล็ก ๆ ย่อย ๆ หลายตัวอาจจะทำให้การจัดการลำบากมากขึ้น จึงเป็นที่มาของ Ingress เพื่อทำหน้าที่เป็น API-Gateway ให้รวมการจัดการเข้าถึง Service ต่าง ๆ ผ่านตัวนี้ได้เลย
ที่นี้เราก็จะไปลองใช้กันเลยย
ก่อนอื่น ถ้าเราจะใช้งาน Ingress เราต้อง Install ก่อนด้วยที่นี้
หลังจากนั้นก็กด Create แล้วก็ใช้สคริปนี้
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: simple-fanout-example
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
http:
paths:
- path: /service1
backend:
serviceName: service1
servicePort: 80
- path: /service2
backend:
serviceName: service2
servicePort: 80
อธิบายส่วนสำคัญก็คือการเปิดโปรโคคอลให้ Gateway ทำงานเราจะระบุ path ว่า ถ้าเรียก path นี้จะวิ่งไปเรียก Service ไหนใน Kubernetes จริง ๆ ส่วนสำคัญก็มีแค่นี้หละครับ สะดวกใช้งานง่ายมาก ๆ เลยทีเดียว