Internal Networking

การกำหนดค่าเครือข่ายภายในภายใน Kubernetes Cluster เป็นกระบวนการอัตโนมัติทั้งหมดซึ่งใช้ K8s Services ปลั๊กอิน CNI สร้างและกำหนดค่าเครือข่ายซ้อนทับซึ่งช่วยให้สามารถจัดหาพ็อด (pod) ทั้งหมดด้วย IP address ได้

นอกจากนี้ Kubernetes ยังรองรับการเข้าถึงบริการโดยตรงจากชื่อ ดังนั้นจึงไม่จำเป็นต้องมีกลไกการค้นหาบริการใด ๆ ตัวอย่างเช่น แอปพลิเคชันเซิร์ฟเวอร์ของคุณสามารถเชื่อมต่อกับฐานข้อมูลโดยใช้ชื่อ DNS ซึ่งจะได้รับการแก้ไขเป็น IP ภายใน (internal IP) ที่จำเป็น ในที่นี้คุณจะต้องสร้าง service object ด้วยตัวเลือกที่ถูกต้องเท่านั้น

Kubernetes Cluster มาพร้อมกับการปรับใช้งาน, บริการและ ingress ของ Hello World ตามค่าเริ่มต้น (เว้นแต่จะเลือกตัวเลือกการปรับใช้แบบกำหนดเองในระหว่างการ installation) คุณสามารถตรวจสอบแอปพลิเคชันเริ่มต้นนี้เพื่อทำความเข้าใจแนวคิดของ Kubernetes service ได้ดียิ่งขึ้น

Ruk-Com DNS Name Resolution ภายใน PODs

Ruk-Com Kubernetes cluster ใช้ CoreDNS เพื่อแก้ไข Kubernetes DNS names ภายใน จะถูกกำหนดโดยอัตโนมัติในไฟล์ /etc/resolv.conf ของแต่ละพ็อด (pod) นอกจากนี้ CoreDNS ยังใช้เนมเซิร์ฟเวอร์ (nameserver) ของ Ruk-Com ซึ่งอนุญาตให้สร้างการเข้าถึงโดยตรงระหว่าง K8s Cluster และคอนเทนเนอร์อื่น ๆ ภายในแพลตฟอร์ม

ตัวอย่างเช่น หากคุณมี Environment ที่มีฐานข้อมูลใน Ruk-Com Cloud และต้องการเชื่อมต่อจาก Kubernetes pod คุณต้องใช้ชื่อโฮสต์ (hostname) เป็น “${nodeId}-${envName}.${platformDomain}” และพอร์ตเริ่มต้นสำหรับฐานข้อมูล คือ (3306 สำหรับ MySQL, 5432 สำหรับ Postgres ฯลฯ )
อย่างไรก็ตามคุณต้องสร้าง endpoint เพื่อเชื่อมต่อกับฐานข้อมูลดังกล่าวจากภายนอก Ruk-Com