‫หากคุณกำลังคิดเกี่ยวกับการปรับใช้และบริการของคุณ
‫คุณอาจรู้แล้วว่าจนถึงตอนนี้ เรายังไม่ได้พูดถึง
‫OSI Layer 7 หรือการกำหนดเส้นทางชื่อ HTTP หรือการกำหนดเส้นทาง DNS หรือสิ่งที่คุณต้องการเรียก
‫โดยพื้นฐานแล้ว
‫แนวคิดที่ว่าหากคุณอยู่บนเซิร์ฟเวอร์ที่มีหลายไซต์ที่จำเป็นต้องใช้พอร์ตเดียวกัน
‫พอร์ต
‫80 และ 443 จากนั้นคุณต้องมีบางสิ่งที่นั่นซึ่งกำหนดเส้นทางไปยังคอนเทนเนอร์อื่น
‫โดยอิงจากสิ่งอื่นที่ไม่ใช่เพียงแค่พอร์ต
‫ใน Kubernetes เรียกว่า Ingress
‫เป็นทรัพยากรเฉพาะ และไม่จำเป็นต้องเป็นโหลดบาลานเซอร์หรืออะไรก็ตามที่คุณจะระบุแหล่งที่มาของบริการ
‫เป็นอย่างอื่นในทางเทคนิคที่เน้นไปที่ปัญหาทั่วไปของคลัสเตอร์ส่วนใหญ่ที่ต้องการเรียกใช้เว็บไซต์ต่างๆ
‫จำนวนมาก หรือคอนเทนเนอร์ที่แตกต่างกันสำหรับ URL และชื่อต่างๆ
‫นั่นคือสิ่งที่ทั้งโครงการมุ่งเน้นคือโครงการ
‫Ingress
‫โดยค่าเริ่มต้น มันไม่ได้ติดตั้งบนคลัสเตอร์ Kubernetes
‫ของคุณ แต่มีฟีเจอร์ที่เป็นทางการสำหรับคลัสเตอร์นี้
‫วิธีการทำงานคือ Kubernetes ไม่ได้ประดิษฐ์พร็อกซี
‫HTTP
‫พวกเขาเพียงแค่ให้กลไกสำหรับพร็อกซีบุคคลที่สามอื่น
‫ๆ เพื่อใช้คุณสมบัติเพื่อให้คุณติดตั้งขาเข้าในคลัสเตอร์ของคุณ
‫จากนั้นคุณสามารถบอกแอปของคุณ วิธีใช้พร็อกซีนั้นเพื่อไปยังคอนเทนเนอร์ของคุณ
‫โดยขึ้นอยู่กับแอปที่คุณใช้
‫ตัวอย่างที่ดีอาจเป็นได้ว่าคุณมีเว็บไซต์ A com และคุณมีเว็บไซต์
‫B. คอม
‫สิ่งเหล่านี้จะเป็นการใช้งานสองแบบที่แตกต่างกัน
‫คุณต้องได้รับพอร์ตเดียวกันในทุกโหนดของคุณ
‫... มันคือ 80443
‫คุณต้องนำเว็บไซต์ต่างๆ ไปยังคอนเทนเนอร์ต่างๆ
‫นั่นคือสิ่งที่ Ingress มีไว้สำหรับ
‫ใน Swarm เราไม่ได้มีคุณสมบัติดังกล่าวตั้งแต่แกะกล่อง
‫ดังนั้น คุณแค่ต้องปรับใช้พร็อกซีบางตัวเป็นคอนเทนเนอร์
‫และมันก็ไม่ได้มีอะไรพิเศษเกี่ยวกับคอนเทนเนอร์นั้นเลย
‫ไม่เข้าใจว่า Ingress คืออะไร
‫แต่ Kubernetes ทำ
‫เมื่อคุณไปดูเอกสารประกอบ ตัวอย่างเริ่มต้นที่ทุกคนพูดถึงคือ
‫Nginx
‫เราใช้ Nginx ผ่านหลักสูตรนี้
‫อันนั้นน่าจะเป็นอันที่คุณควรลองก่อน
‫ฉันชอบอย่างอื่นมากกว่า
‫จริงๆ แล้วฉันชอบ Traefik และคุณจะเห็นสิ่งนั้นในตัวอย่างของฉัน โดยเฉพาะอย่างยิ่งในหลักสูตร
‫Swarm ของฉัน
‫เมื่อคุณเห็นฉันพูดในที่ประชุม ฉันมักจะพูดถึง
‫Traefik เพราะมันเป็นตัวแทนที่สร้างขึ้นในโลกของคอนเทนเนอร์
‫การเริ่มต้นเกิดขึ้นจากแนวคิดที่ว่าเรามีคอนเทนเนอร์ชั่วคราวเหล่านี้หมุนเวียนและปิดตัวลง
‫และเราจำเป็นต้องตั้งโปรแกรมพร็อกซีใหม่ และเราจำเป็นต้องกังวลเกี่ยวกับ SSL และสิ่งอื่น ๆ ทั้งหมดที่เราต้องการสำหรับหลายเว็บไซต์ในคลัสเตอร์คอนเทนเนอร์
‫ดังนั้นพวกเขาจึงออกแบบผลิตภัณฑ์ใหม่นี้ซึ่งขณะนี้กำลังวางไข่ผลิตภัณฑ์อื่นๆ
‫ขณะนี้มีทั้งบริษัทอยู่เบื้องหลังและสนับสนุนสัญญา
‫คุณอาจต้องการตรวจสอบว่า
‫มีผู้จำหน่ายจำนวนมากที่สร้างปลั๊กอินเหล่านี้สำหรับ
‫Kubernetes รวมถึงรายใหญ่ด้วย
‫HAProxy, F5 และผู้เล่นใหม่เช่น
‫Envoy และ Istio ก็รองรับประเภทขาเข้าเช่นกัน
‫ฉันจะบอกว่าในทางเทคนิคฟีเจอร์
‫ingress นั้นยังคงเป็นรุ่นเบต้าใน 1 15.
‫สิ่งเหล่านี้จะมีการใช้งานของตัวเองขึ้นอยู่กับว่าคุณเลือกแบบไหน
‫F5 เป็นโหลดบาลานเซอร์ฮาร์ดแวร์ภายนอกที่พบได้ทั่วไปในองค์กร
‫เห็นได้ชัดว่าตัวควบคุม Ingress จะช่วยควบคุมทรัพยากรภายนอกนั้นจากภายใน
‫Kubernetes ของคุณ
‫ประเด็นทั้งหมดนี้คือเมื่อคุณเป็นนักพัฒนาแอปพลิเคชันกำลังเขียน
‫YAML กับผู้คน DevOps หรือบางทีกับทีม
‫Ops เอง พวกเขาสามารถใส่คำอธิบายประกอบลงใน YAML
‫ที่จำเป็นสำหรับการเข้าใช้งาน ตัวควบคุมเพื่อค้นหาว่าจะทำอย่างไรกับพวกเขา
‫โดยทั่วไป ฉันจะกำหนดเส้นทางได้อย่างไร
‫เส้นทางที่ถูกต้องคืออะไร? ฉันจะเอามันไปไหน
‫ฉันกำลังใช้พอร์ตใดอยู่ ฉันคว้า SSL มาให้คุณหรือเปล่า
‫ฉันได้รับใบรับรองหรือไม่ คุณจะให้ฉันบางอย่าง?
‫จัดการทุกอย่างเรียบร้อยแล้ว
‫ก่อนอื่น ขอแนะนำให้คุณดูในแหล่งข้อมูล
‫อาจลองใช้ Nginx เป็นค่าเริ่มต้น
‫แน่นอน หากคุณไม่มีความคิดเห็น ลองใช้ Traefik
‫เพราะมันใช้งานง่ายและมีคุณสมบัติมากมาย รวมถึง
‫Let's Encrypt เพื่อรับใบรับรองสำหรับคุณและเว็บไซต์ของคุณโดยอัตโนมัติทันทีที่แกะกล่อง
‫หากคุณทราบข้อกำหนดฮาร์ดแวร์ของคุณเอง หรือข้อกำหนดของซอฟต์แวร์สำหรับสิ่งที่คุณต้องทำกับ
‫Ingress มีรายการในเอกสารประกอบที่คุณสามารถดูได้ในแหล่งข้อมูลของตัวเลือก Ingress ต่างๆ ทั้งหมดที่นี่