0Pricing
Docker & DevOps Fundamentals · บทเรียน

การตั้งค่าคลัสเตอร์ Swarm

เริ่มต้น Docker Swarm เพิ่มโหนดผู้จัดการและโหนดผู้ปฏิบัติงาน และตรวจสอบสถานะคลัสเตอร์

การตั้งค่าคลัสเตอร์ Swarm เป็นบทเรียน Docker & DevOps Fundamentals ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Docker & DevOps Fundamentals และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับสู่การตั้งค่า Docker Swarm

พร้อมที่จะจัดการการประสานงานคอนเทนเนอร์ของคุณแล้วหรือยัง ในบทเรียนนี้ เราจะเรียนรู้วิธีเปลี่ยนโฮสต์ Docker เพียงเครื่องเดียวให้กลายเป็นคลัสเตอร์ Swarm ที่ทรงพลัง

คุณจะได้เรียนรู้วิธีเริ่มต้น Swarm เพิ่มเครื่องใหม่เป็นโหนดผู้จัดการและโหนดผู้ปฏิบัติงาน ตลอดจนตรวจสอบความสมบูรณ์ของคลัสเตอร์

การตั้งค่าคลัสเตอร์ Swarm — ภาพประกอบ 1

ข้อกำหนดเบื้องต้นสำหรับการตั้งค่า Swarm

ก่อนเริ่มต้น โปรดเตรียมสิ่งต่อไปนี้ให้พร้อม

  • Docker Desktop/Engine: ติดตั้งไว้ในเครื่องทั้งหมดที่คุณวางแผนจะใช้งาน
  • การเข้าถึงเครือข่าย: เครื่องทั้งหมดต้องสามารถสื่อสารระหว่างกันผ่านเครือข่ายได้
  • พอร์ตที่เปิดใช้งาน: Docker Swarm ใช้พอร์ตเฉพาะสำหรับการสื่อสาร โปรดตรวจสอบว่าเปิดพอร์ตเหล่านี้แล้ว
    • TCP port 2377 สำหรับการสื่อสารเพื่อจัดการคลัสเตอร์
    • TCP & UDP port 7946 สำหรับเครือข่ายโอเวอร์เลย์ของคอนเทนเนอร์
    • UDP port 4789 สำหรับการรับส่งข้อมูลบนเครือข่ายโอเวอร์เลย์

การเริ่มต้น Swarm แรกของคุณ

หากต้องการเริ่มต้น Swarm ใหม่ ให้เลือกเครื่องหนึ่งเครื่องเป็น โหนดผู้จัดการ เครื่องแรก โหนดนี้จะจัดการงานประสานงานทั้งหมด

คุณใช้คำสั่ง docker swarm init เพื่อเริ่มต้น คำสั่งนี้จะเปลี่ยน Docker Engine ปัจจุบันของคุณให้เป็นผู้จัดการ Swarm

ตามค่าเริ่มต้น คำสั่งจะใช้ที่อยู่ IP ของเครื่องปัจจุบัน หากจำเป็น คุณสามารถระบุ IP อื่นด้วย --advertise-addr

สาธิต: เริ่มต้น Swarm

มาเริ่มต้น Swarm ใหม่กัน เรียกใช้คำสั่งนี้บนเครื่องผู้จัดการที่คุณเลือก หลังจากเริ่มต้นแล้ว เราจะตรวจสอบสถานะของ Swarm

หมายเหตุ: คุณอาจต้องแทนที่ YOUR_MANAGER_IP ด้วยที่อยู่ IP จริงของเครื่อง หาก Docker ไม่สามารถตรวจหาได้โดยอัตโนมัติอย่างถูกต้อง

docker swarm init --advertise-addr YOUR_MANAGER_IP
docker node ls

ทำความเข้าใจบทบาทของโหนดใน Swarm

ใน Docker Swarm โหนดมีบทบาทที่แตกต่างกันดังนี้

  • โหนดผู้จัดการ: เป็นเสมือนสมองของ Swarm จัดการคลัสเตอร์ ประสานงานบริการ และดูแลให้แอปพลิเคชันอยู่ในสถานะที่ต้องการ เพื่อให้มีความพร้อมใช้งานสูง โดยทั่วไปจะมีผู้จัดการหลายโหนด
  • โหนดผู้ปฏิบัติงาน: เป็นโหนดที่แอปพลิเคชันในคอนเทนเนอร์ของคุณทำงานจริง โหนดเหล่านี้รับงานจากโหนดผู้จัดการและดำเนินการตามงาน

โหนดเดียวกันสามารถทำหน้าที่เป็นทั้งผู้จัดการและผู้ปฏิบัติงานได้

การเพิ่มโหนดผู้ปฏิบัติงานใน Swarm

เมื่อเริ่มต้น Swarm แล้ว คุณสามารถเพิ่มเครื่องอื่นเป็นโหนดผู้ปฏิบัติงานได้ ซึ่งจะช่วยเพิ่มความสามารถของคลัสเตอร์ในการเรียกใช้คอนเทนเนอร์

เมื่อคุณเรียกใช้ docker swarm init คำสั่งจะแสดงผลคำสั่งลักษณะนี้ docker swarm join --token :2377 ให้ใช้คำสั่งนี้บนเครื่องอื่นเพื่อเข้าร่วมเป็นผู้ปฏิบัติงาน

โทเค็น มีความสำคัญอย่างยิ่งต่อการตรวจสอบสิทธิ์และความปลอดภัย

สาธิต: คำสั่งเข้าร่วมของผู้ปฏิบัติงาน

นี่คือตัวอย่างคำสั่งที่คุณจะเรียกใช้บนเครื่องแยกต่างหาก (เครื่องที่ต้องการใช้เป็นผู้ปฏิบัติงาน) เพื่อเข้าร่วม Swarm โปรดแทนที่ SWMTKN-... ด้วยโทเค็นจริงของคุณ และแทนที่ MANAGER_IP ด้วย IP ของผู้จัดการ

หมายเหตุ: ไม่สามารถเรียกใช้คำสั่งนี้โดยตรงในสภาพแวดล้อมนี้ได้ เนื่องจากต้องตั้งค่าหลายเครื่อง คำสั่งนี้มีไว้เพื่อสาธิตเท่านั้น

docker swarm join \
  --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
  192.168.1.100:2377

การตรวจสอบสถานะคลัสเตอร์ Swarm

หลังจากเพิ่มโหนดแล้ว ควรตรวจสอบว่าโหนดเหล่านั้นเข้าร่วม Swarm สำเร็จแล้ว

คุณสามารถใช้คำสั่ง docker node ls บนโหนดผู้จัดการใดก็ได้ เพื่อดูโหนดทั้งหมดใน Swarm พร้อมสถานะ ความพร้อมใช้งาน และบทบาทของแต่ละโหนด

STATUS ของโหนดควรเป็น Ready และ AVAILABILITY ควรเป็น Active เพื่อให้โหนดทำงานได้อย่างสมบูรณ์

ตรวจสอบอย่างรวดเร็ว: การเริ่มต้น Swarm

คุณตัดสินใจตั้งค่า Docker Swarm ใหม่ คุณจะใช้คำสั่งใดบนเครื่องโฮสต์เครื่องแรกเพื่อเปลี่ยนให้เป็นโหนดผู้จัดการเริ่มต้น

ทบทวน: การตั้งค่า Swarm

ทำได้ดีมาก คุณได้เรียนรู้พื้นฐานสำคัญของการตั้งค่าคลัสเตอร์ Docker Swarm แล้ว

  • docker swarm init: ใช้สร้าง Swarm ใหม่และกำหนดให้เครื่องปัจจุบันเป็นผู้จัดการเครื่องแรก
  • docker swarm join: ใช้เพิ่มเครื่องอื่นเป็นโหนดผู้ปฏิบัติงานหรือผู้จัดการใน Swarm ที่มีอยู่
  • docker node ls: ใช้ตรวจสอบสถานะและบทบาทของโหนดทั้งหมดภายในคลัสเตอร์ Swarm

ด้วยคำสั่งเหล่านี้ คุณสามารถสร้างรากฐานที่แข็งแกร่งสำหรับการประสานงานแอปพลิเคชันในคอนเทนเนอร์ได้

คำถามที่พบบ่อย

บทเรียน “การตั้งค่าคลัสเตอร์ Swarm” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตั้งค่าคลัสเตอร์ Swarm” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Docker & DevOps Fundamentals ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตั้งค่าคลัสเตอร์ Swarm”

เริ่มต้น Docker Swarm เพิ่มโหนดผู้จัดการและโหนดผู้ปฏิบัติงาน และตรวจสอบสถานะคลัสเตอร์ คุณปฏิบัติ Docker & DevOps Fundamentals ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Docker & DevOps Fundamentals หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Docker & DevOps Fundamentals บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การตั้งค่าคลัสเตอร์ Swarm” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Docker & DevOps Fundamentals นี้ได้ไหม

ได้ บทเรียน Docker & DevOps Fundamentals ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่ Docker Swarm
  2. การตั้งค่าคลัสเตอร์ Swarm
  3. การปรับใช้บริการใน Swarm
  4. การปรับขนาดและการอัปเดตแบบทยอยใน Swarm
← กลับไปที่ Docker & DevOps Fundamentals