Member-only story
การสร้าง Root HTTPProxy บน Contour
หลังจากที่เราทำการ Install Contour เป็น Kubernetes Ingress ไปใน Part ที่แล้ว
ใน Part นี้เราจะมาดูวิธีการสร้าง root HTTPProxy เพื่อแก้ปัญหา Config Ingress ชนกันบน Cluster เวลาหลายๆทีมมีการใช้ FQDN เดียวกัน. รวมถึงเพื่อช่วย Platform/ Operator Team ในการ Manage Ingress / Proxy จากฝั่ง Developer
Root HTTPProxy & Inclusion Concepts
ก่อนที่เราจะทำการใช้ Root HTTPProxy เราต้องมีการ Config namespace
ที่จะใช้เป็น Root ก่อน โดยสามารถกำหนดโดยใช้ flag --root-namespaces
หรือกำหนด contour.rootNamespaces
ตอน Install ด้วย Helm.
หลังจากนั้นเราจะสามารถ Include HTTPProxy resource จาก namespace
อื่นที่ Developer หรือ Team ต่างๆมีการใช้งาน โดยจะใช้ Concept ของ Inclusion เป็นคล้ายๆกับ Selector
ใน k8s ในการเลือก HTTPProxy จากฝั่ง Developer มาใช้
ตัวอย่างการสร้าง Root HTTPProxy
ในตัวอย่างมีการกำหนด rootNamespaces
เป็น httpproxy-root
มี FQDN เป็น foo-basic.bar.com
สามารถเข้าถึง HTTPProxy auth
ที่อยู่ใน namespace authentication
ผ่าน foo-basic.bar.com/auth
และ HTTPProxy reserve
ใน namespace reservations
ผ่าน foo-basic.bar.com/reservations
ตัวอย่าง HTTPProxy ในแต่ละ Namespace
HTTPProxy auth
จะถูก deploy ใน namespace authentication
โดยจะทำการ route connection จาก foo-basic.bar.com/auth
ไปยัง Service…