‫ก่อนที่เราจะขยายบริการของเราเพื่อเริ่มทำงานในหลาย ๆ โหนดและบริการทั้งหมดที่พูดคุยกันเรามาดูแนวคิดใหม่สองสามข้อที่
‫Swarm นำมาสู่ตาราง
‫อันแรกคือไดร์เวอร์ระบบเครือข่ายใหม่ที่เรียกว่า Overlay
‫และคุณเพียงแค่สร้างเครือข่ายเช่นที่คุณคุ้นเคยกับการสร้างมันเน็ตเวิร์กของนักเทียบท่าสร้างขึ้นมา
‫สิ่งที่ต้องการคือการสร้างเครือข่ายบริดจ์แบบ Swarm-wide โดยที่คอนเทนเนอร์ข้ามโฮสต์ในเครือข่ายเสมือนเดียวกันสามารถเข้าถึงซึ่งกันและกันได้เช่นเดียวกับพวกมันบน
‫VLAN
‫นี่เป็นเพียงการสื่อสารภายในฝูง
‫โอเวอร์เลย์ไดร์เวอร์ไม่ได้เล่นเป็นจำนวนมากในการรับส่งข้อมูลที่เข้ามาในขณะที่มันกำลังพยายามที่จะดูภาพรวมของเครือข่ายเพื่อให้คุณไม่ยุ่งกับการตั้งค่าเครือข่ายในแต่ละโหนด
‫นอกจากนี้คุณยังสามารถเปิดใช้งานการเข้ารหัสเครือข่ายเต็มรูปแบบโดยใช้ IPiece SEC ซึ่งจริง ๆ แล้วมันจะตั้งค่า
‫IPSec อุโมงค์ระหว่างโหนต่างๆของฝูง
‫แต่โดยค่าเริ่มต้นมันจะถูกปิดด้วยเหตุผลด้านประสิทธิภาพเท่านั้น
‫เมื่อคุณสร้างบริการของคุณคุณสามารถเพิ่มพวกเขาไปยังไม่มีเครือข่ายการซ้อนทับหรือเครือข่ายการซ้อนทับหนึ่งหรือมากกว่า
‫มันขึ้นอยู่กับการออกแบบแอปพลิเคชันของคุณจริงๆ
‫คุณรู้ไหมว่าการออกแบบแบบดั้งเดิมจำนวนมากจะมีฐานข้อมูลบนเครือข่ายแบ็กเอนด์และเว็บเซิร์ฟเวอร์ในเครือข่ายส่วนหน้า
‫บางทีคุณอาจมี API ระหว่างสองเครือข่ายที่มีทั้งสองเครือข่ายหรืออะไรทำนองนั้น
‫และคุณสามารถทำเช่นนั้นได้ใน Swarm
‫เรามาดูกันว่าในทางปฏิบัติ
‫สิ่งที่ฉันต้องการจะทำคือฉันต้องการแสดงให้คุณเห็นว่ามันจะเป็นอย่างไรถ้าเราปรับใช้ตัวอย่าง Drupal จากการมอบหมายก่อนหน้านี้กับฐานข้อมูล Postgres เป็นบริการแล้วสร้างเครือข่าย
‫Overlay สำหรับพวกเขาเพื่อพูดคุยกัน
‫ก่อนอื่นเราต้องสร้างเครือข่ายดังนั้นนักสร้างท่าเทียบเรือและสิ่งนี้จะไม่เปลี่ยนแปลงสำหรับ Swarm
‫นอกเหนือจากความจริงที่ว่าเราจะใช้ไดรเวอร์ใหม่
‫ฉันจะเรียกมันว่า mydrupal
‫ตกลง.
‫ดังนั้นฉันจะทำเครือข่ายนักเทียบท่าและคุณจะเห็นว่าฉันมีภาพซ้อนทับใหม่ ทางเข้ามีอยู่โดยค่าเริ่มต้น
‫นอกจากนี้คุณยังจะเห็นใหม่เพราะฝูงซึ่งเป็นเครือข่ายขาออกที่เราไม่จำเป็นต้องยุ่งกับ
‫ดังนั้นเรามาสร้างบริการ Postgres ของเรา ... บริการนักเทียบท่าสร้างชื่อ ... เรียกมันว่าเครือข่าย psql
‫เรากำลังจะเชื่อมต่อกับเครือข่าย mydrupal
‫มีแท็บชื่อเครือข่ายให้แล้วเสร็จ
‫จากนั้นจำไว้ว่าฉันต้องเพิ่มตัวแปรสภาพแวดล้อมนั้นสำหรับรหัสผ่าน Postgres
‫ดังนั้นเราสามารถเชื่อมต่อได้ในภายหลัง
‫ถ้าอย่างนั้นเราจะใช้ภาพ Postgres ดูดี.
‫คุณจะสังเกตได้ที่นี่ว่าเราไม่ได้รับการดาวน์โหลดภาพทั้งหมดและทั้งหมดเพราะบริการไม่สามารถทำงานในเบื้องหน้าเพราะพวกเขาจะต้องผ่านออเคสตร้าและตารางเวลา
‫ดังนั้นเราสามารถทำบริการนักเทียบท่าได้และเราจะเห็นว่าหนึ่งในนั้นกำลังทำงานอยู่
‫ถ้าเราทำบริการนักเทียบท่า ps psql เราจะเห็นว่าสิ่งนี้กำลังทำงานอยู่บนโหนด 1
‫ดังนั้นฉันสามารถทำนักเทียบท่าคอนเทนเนอร์ psql และจากนั้นฉันสามารถดูบันทึกของมัน
‫อ๋อ ดูเหมือนว่ามันจะทำงานอยู่
‫เอาล่ะ
‫มาสร้างบริการอื่นของเรากันเถอะฉันจะไปต่อและเรียกมันว่า drupal
‫เราต้องแนบกับเครือข่ายเดียวกันนั้นด้วย จากนั้นเราต้องการที่จะเผยแพร่พอร์ต 80:80
‫เหมือนที่เราทำกับคำสั่งนักวิ่งเรียกใช้ และเราจะใช้ภาพ Drupal
‫ตกลง.
‫เราจะเห็นว่ามันเริ่มต้นที่นั่น
‫มีเคล็ดลับ คุณสามารถใช้คำสั่ง watch ใน Linux เพื่อเฝ้าดูได้ มันจะเป็นพื้น ...
‫สิ่งที่มันทำคือมันเรียกใช้คำสั่งซ้ำแล้วซ้ำอีก
‫ติดตั้งโดยค่าเริ่มต้นบน Ubuntu
‫หากคุณเพิ่งวางนาฬิกาไว้ข้างหน้าบริการนักเทียบท่ามันจะทำงานต่อไปทุกสองวินาทีโดยค่าเริ่มต้นจนกระทั่ง ...
‫อ่าเห็นไหม
‫ตอนนี้เรามีทีละคน
‫เอาล่ะแล้วฉันจะควบคุมมันให้ได้ เราสามารถใช้บริการนักเทียบท่า ps
‫drupal และดูว่า drupal กำลังทำงานอยู่บนโหนด 2
‫เรามีฐานข้อมูลที่ทำงานบนโหนด 1
‫เรามีเว็บไซต์ Drupal ที่ทำงานบนโหนด 2
‫ดังนั้นพวกเขารู้วิธีการพูดคุยกันได้อย่างไร
‫ดีใช้ชื่อบริการ
‫ถ้าฉันวางหนึ่งในที่อยู่ IP มันควรจะเกิดขึ้นกับการติดตั้ง Drupal และถ้าฉันบอกฐานข้อมูลที่นี่ชื่อฐานข้อมูลเราจะทำ
‫postgres อีกครั้ง postgres รหัสผ่านของฉัน
‫สำหรับโฮสต์เหมือนกับตอนที่เราอยู่กับ Compose เราสร้างชื่อบริการในไฟล์ Compose
‫ที่นี่เราจะใช้ชื่อบริการที่เราสร้างขึ้นสำหรับเซิร์ฟเวอร์ฐานข้อมูล นั่นคือ psql
‫หน้าจอนี้บอกเราว่ามันสามารถพูดคุยกับฐานข้อมูลข้ามโหนดและตั้งค่าระบบได้
‫นั่นคือสิ่งที่ยอดเยี่ยมเกี่ยวกับ Overlay คือมันทำหน้าที่เหมือนทุกอย่างในซับเน็ตเดียวกัน
‫เอาล่ะ
‫ดังนั้นเราไม่ต้องการสิ่งนี้อีกต่อไป
‫ฉันจะทำตัวอย่างนี้ให้เสร็จเร็ว ๆ เพื่อแสดงให้คุณเห็นสิ่งที่ยอดเยี่ยมเกี่ยวกับ Swarm ตกลง.
‫ตอนนี้ไซต์นี้กำลังทำงาน แต่ฉันมีสามโหนดดังนั้นฉันจะรู้ได้อย่างไรว่าจะเปิดใช้งานโหนดใดและพอร์ตใดที่ฉันต้องแน่ใจว่า
‫DNS ของฉันชี้ไปที่เมื่อฉันสร้างชื่อเว็บไซต์นี้
‫ในกรณีของฉันฉันมีสามที่อยู่ IP และฉันสามารถคัดลอกทั้งสามของพวกเขาและใส่ทั้งสามที่อยู่ IP เหล่านั้นในและ ...
‫โอ๊ะโอ ... ฉันเข้าใจผิดตรงนั้น
‫ถ้าคุณเห็นมันดูเหมือนว่าเว็บไซต์กำลังทำงานบนทั้งสามโหนดเพราะฉันกำลังดูที่อยู่ IP ทั้งสามแห่ง
‫แต่ถ้าฉันไปที่นี่และทำบริการนี้ ps drupal ฉันรู้ว่ามันเป็นแค่การทำงานของโหนด 2
‫ฉันยังสามารถตรวจสอบบริการนักเทียบท่าและเห็นว่ามันมีเพียงที่อยู่ IP เดียวในเครือข่ายโอเวอร์เลย์ ...
‫ที่นี่.
‫ดังนั้นทำไมมันตอบสนองกับทั้งสามโฮสต์?
‫นั่นนำเราไปสู่คุณสมบัติใหม่ต่อไปของเรา