คู่มือ Container DNS Hostnames สำหรับ การตั้งค่า Application
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
คำสั่ง ชื่อเมนู Parameter และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง
ความสามารถในการเชื่อมต่อกับบริการ Cloud ได้อย่างง่ายดายถือเป็นเกณฑ์ที่มีความสำคัญอย่างยิ่งสำหรับนักพัฒนาทุกคนใน Platform แต่ละ Node ที่สร้างขึ้นใหม่จะได้รับการกำหนดชื่อ Host ที่สร้างขึ้นโดยอัตโนมัติจำนวนหนึ่งโดยชี้ไปที่ Server ภายในที่เหมาะสม/ภายนอกที่อยู่ IP
ขึ้นอยู่กับประเภทของ Node ที่สร้างขึ้นชื่อของ Host สำหรับ Node อาจแตกต่างกันดังนั้นด้านล่างเราจะพิจารณาวิธีที่เป็นไปได้ในการอ้างถึง Node ใด Node หนึ่งซึ่ง Host อยู่ที่ Platform ไม่ว่าจะจากภายใน (เช่นเมื่อจัดการผ่านประตูเอสเอสเอช) หรือภายนอก Cloud:
- ชื่อ Host สำหรับ Container เฉพาะ
- ชื่อ Host เสริมสำหรับประเภท Node เฉพาะ
- ชื่อ Host สำหรับ Layer เฉพาะ
- ชื่อ Host แบบสั้นสำหรับ Container ภายใน Environment เดียว
- ชื่อ Host สำหรับ Container ที่เชื่อมโยง
ชื่อ Host สำหรับ Container เฉพาะ
แต่ละ Container ที่ Platform สามารถเข้าถึงได้ด้วยที่อยู่ IP ภายในพร้อม URL ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้:
- Node${nodeId}-${envName}.${Platform Domain}
- Node${nodeId}.${envName}.${Platform Domain}
ด้วยเหตุนี้ตัวยึดตำแหน่งควรถูกแทนที่ด้วยค่าถัดไป:
- ${nodeId}- ตัวระบุตัวเลขที่ไม่ซ้ำกันที่สร้างขึ้นโดยอัตโนมัติซึ่งกำหนดให้กับทุก Container ภายใน Platform

- ${envName}- ชื่อ Environment (ไม่ใช่นามแฝง) ระบุไว้ในระหว่างการสร้าง
- ${Platform Domain}- ชื่อ Domain ของการติดตั้ง PaaSผู้ให้บริการ Hosting
ตัวแปรทั้งสองสามารถใช้เพื่ออ้างอิงถึง Node จากภายในหรือภายนอก Platform (เช่นช่วยให้สามารถสร้างการเชื่อมต่อทั้งภายในและภายนอก)
ชื่อ Host เสริมสำหรับประเภท Node เฉพาะ
Stack ที่ได้รับการรับรอง Platform บางส่วนได้รับการจัดเตรียมด้วยคำนำหน้าชื่อ Host เพิ่มเติม (เช่นโดยที่มีการใช้ชื่อ Stack ที่เหมาะสมแทนNodestring) เพื่อให้การจัดการสะดวกยิ่งขึ้น
บันทึก:คำนำหน้าเสริมดังกล่าวใช้ได้เฉพาะภายใน Domain ที่มียัติภังค์เป็นตัวคั่นเท่านั้น
| ประเภท Node | สแต็ค | ชื่อ Host เพิ่มเติม |
|---|---|---|
| Container Docker แบบกำหนดเอง | นักเทียบท่า${nodeId}-${envName}.${platformDomain} | |
| Database | คาสซานดรา 1/2 | คาสซานดรา${nodeId}-${envName}.${platformDomain} |
| โซฟาดีบี | couchdb${nodeId}-${envName}.${platformDomain} | |
| มาเรียดีบี 5/10 | mariadb${nodeId}-${envName}.${platformDomain} | |
| เมค Cache | memcached${nodeId}-${envName}.${platformDomain} | |
| MSSQL | mssql${nodeId}-${envName}.${platformDomain} | |
| MySQL 5.6/5.7 | mysql${nodeId}-${envName}.${platformDomain} | |
| นีโอ 4 เจ 1/2 | neo4j${nodeId}-${envName}.${platformDomain} | |
| โอเรียนท์ดีบี | orientdb${nodeId}-${envName}.${platformDomain} | |
| PostgreSQL 8/9 | postgres${nodeId}-${envName}.${platformDomain} | |
| เรดิส | redis${nodeId}-${envName}.${platformDomain} | |
| วีพีเอส | vps${nodeId}-${envName}.${platformDomain} |
สตริง Domain ทางเลือกทั้งหมดที่แสดงในตารางด้านบนสามารถนำไปใช้ได้ในลักษณะเดียวกันกับชื่อ Host สำหรับ Container เฉพาะ.
ชื่อ Host สำหรับ Layer เฉพาะ
สำหรับ Environment ใหม่คุณสามารถรับที่อยู่ IP ภายในทั้งหมดของ Container ภายใน Layer Node เดียวได้โดยใช้ชื่อ Host ต่อไปนี้:
- ${nodeGroup}.${envName}.${platformDomain}
ที่นี่,${Node กลุ่ม}ตัวยึดตำแหน่งคือชื่อของ Layer เฉพาะที่เป็นของ Container ที่ต้องการตามค่าเริ่มต้น Layer จะถูกตั้งชื่อตามความเหมาะสมNode กรุ๊ปบทบาทเฉพาะ
บันทึก:กลุ่ม Node ที่เพิ่มผ่านทางชั้นพิเศษในตัวช่วยสร้างทอโพโลยีจะถูกตั้งชื่อในลักษณะเดียวกันแต่มีความเหมาะสม${N}ดัชนี. ด้วยเหตุนี้ Layer เริ่มต้นในตัวช่วยสร้าง Topology (เช่นบล,ซีพี,sqldbฯลฯ) ถือเป็นดัชนีแรกดังนั้นการแจงนับพิเศษLayer เริ่มต้นด้วยอันที่สองเช่นซีพี 2,ซีพี 3,ซีพี 4, … (ยกเว้นพิเศษ,พิเศษ 2,พิเศษ 3, …) ตัวอย่างเช่น:
ตัวอย่างเช่นคำสั่งนี้สามารถใช้เพื่อรับ Application Manifest Server สำหรับ Environment ใดๆภายใน Platform:
เคล็ดลับ:หากต้องการรับรายการ Container สำหรับ Environment ปัจจุบันเพียงกชื่อ Host แบบสั้นสามารถใช้
ทุกครั้งที่มีการสร้าง Container ใหม่ (ลบออก) ในระบบบันทึกที่เหมาะสมจะถูกเพิ่มไปยัง (ลบออกจาก) DNS โดยอัตโนมัติสำหรับชื่อ Host ของ Layer
ชื่อ Host แบบสั้นสำหรับ Container ภายใน Environment เดียว
Container Docker ที่สร้างขึ้นใหม่ทั้งหมดและ Stack ที่จัดการ Platform ที่เชื่อมต่อด้วย Docker ได้รับการจัดเตรียมด้วยกฎ DNS เฉพาะซึ่งอนุญาตให้ใช้ชื่อ Host ที่เรียบง่ายเพิ่มเติม:
- Node${nodeId}- นามแฝงเพื่ออ้างถึง Container ในขอบเขตของ Environment เดียว
- ${Node กลุ่ม}- นามแฝงเพื่ออ้างถึง Layer ในขอบเขตของ Environment เดียว
การใช้ชื่อ Host แบบสั้นดังกล่าวในไฟล์การกำหนดค่า ServerSource Code ของ Application และสสสconsole (ภายในคำสั่งที่ใช้บ่อยเช่นปิง,เจ้าภาพ,ขุดฯลฯ) ทำให้การทำงานด้วย Dockerized stacks ผ่านเครือข่ายภายใน Platform สะดวกยิ่งขึ้นนอกจากนี้วิธีการดังกล่าวยังช่วยให้ไม่เจ็บปวดการโยกย้าย Environmentไปที่อื่นภูมิภาค Hardwareโดยไม่จำเป็นต้องปรับ CodeApplication ของคุณเนื่องจากตำแหน่ง Server ที่เปลี่ยนแปลง
ชื่อ Host สำหรับ Container ที่เชื่อมโยง
เมื่อการเชื่อมโยงLayer Environment ที่ใช้ Docker สองชั้นชุดบันทึก DNS เฉพาะจะถูกเพิ่มไปยัง DatabasePlatform ทั่วโลกโดยอัตโนมัติซึ่งจะช่วยให้สามารถอ้างอิงถึง Node ภายในเป้าชั้นจากแหล่งที่มา(แต่ไม่ใช่ในทางกลับกัน) เมื่อทำงานในขอบเขตของสองชั้นนี้โดยใช้นามแฝงชื่อ Host ต่อไปนี้:
- ${linkAlias}- เพื่ออ้างถึง Node สุ่มภายใน Layer เป้าหมาย Node ที่แน่นอนในการตอบสนองถูกเลือกโดยใช้อัลกอริธึม Round-Robin ซึ่งรับประกันการกระจายโหลดที่สม่ำเสมอ
- ${linkAlias__${N}- เพื่อเข้าถึง Container เฉพาะภายใน Layer เป้าหมาย
ในที่นี้ตัวยึดตำแหน่งที่เหมาะสมจะถูกแทนที่ด้วย:
- ${linkAlias}- ชื่อลิงก์ที่คุณระบุระหว่างการตั้งค่า (เช่นแมวตัวผู้ในภาพด้านล่าง)
*${N}- หมายเลขดัชนีระบุ (ใน1…นช่วง) ของ Container เฉพาะภายใน Layer การเชื่อมโยงเป้าหมาย (เช่นแมวตัวผู้_1,แมวตัวผู้_2) ฯลฯ; ด้วยเหตุนี้ Container หลักจะถือเป็น Instance ที่ 1 เสมอในขณะที่ส่วนที่เหลือของ Node Layer จะถูกกำหนดหมายเลขตามค่า nodeID โดยจะเรียงลำดับจากน้อยไปหามาก (เริ่มต้นด้วย_2ดัชนีแล้ว_3,_4ฯลฯ)
ตัวอย่างเช่นหากมีสาม Container บน Layer - ด้วย123,124(อาจารย์) และ125รหัสตามการใช้งานที่อธิบายไว้ข้างต้นนามแฝงจะถูกกำหนดดังนี้:
- นามแฝง_1- ลิงค์ไปยัง124Container เป็น Node หลัก
- นามแฝง_2- จะชี้ไปที่123Instance เนื่องจากมี ID ต่ำสุดในบรรดา Container ที่เหลือ
- นามแฝง_3- สำหรับการอ้างอิงถึง125Container เป็นอันที่มี nodeID ต่ำสุดถัดไป
เคล็ดลับ:โดยการต่อท้าย Domain Environment เข้ากับนามแฝง${linkAlias}.${envName}.${platformDomain}ชื่อ Layer ที่เชื่อมโยงที่เกี่ยวข้องสามารถแก้ไขได้และเข้าถึงจากภายนอกเช่นจากที่ใดก็ได้บนอินเทอร์เน็ตและโดย${linkAlias__${N}Container ที่เกี่ยวข้องของ Layer ที่เชื่อมโยงสามารถแก้ไขได้ภายในเท่านั้นภายในเครือข่าย Layer ที่เชื่อมโยง
ตอนนี้คุณทราบข้อมูลเฉพาะและทางลัดทั้งหมดที่สามารถใช้เพื่ออ้างอิงถึง Node ของคุณแล้วซึ่งจะช่วยจัดระเบียบการเชื่อมต่อระหว่าง InstanceApplication ของคุณได้อย่างรวดเร็วและมีประสิทธิภาพ



