ด้วย HAProxy คุณสามารถปรับใช้ในคอนเทนเนอร์ Docker แทนที่จะรันเป็นแพ็คเกจบนระบบของคุณ การใช้ Docker ช่วยให้แน่ใจว่าคุณจะไม่รบกวนแพ็คเกจอื่นๆ และเป็นวิธีหนึ่งในการมีสภาพแวดล้อมที่เงียบสงบในการรัน HAProxy เป็นพร็อกซีย้อนกลับของคุณหรือเพื่อวัตถุประสงค์อื่น การเรียกใช้ HAProxy บน Docker นั้นเป็นงานที่ตรงไปตรงมา โพสต์นี้กล่าวถึงขั้นตอนที่ต้องปฏิบัติตาม อ่านต่อ!
การปรับใช้ HAProxy ในคอนเทนเนอร์ Docker
เมื่อทำงานกับแอปพลิเคชันหรือเซิร์ฟเวอร์ของคุณ HAProxy มีประโยชน์ในการช่วยให้คุณควบคุมการรับส่งข้อมูลเพื่อให้ได้ประสิทธิภาพและความสามารถในการปรับขนาดในระดับสูง นอกจากนี้ Docker ยังมอบแพลตฟอร์มให้คุณปรับใช้และปรับขนาดแอปพลิเคชันของคุณได้อย่างราบรื่น เมื่อรวมทั้งสองสิ่งนี้เข้าด้วยกัน ความสามารถในการปรับขนาดและความต้องการใช้งานอื่นๆ ของคุณจะได้รับการตอบสนองอย่างดี
นอกจากนี้ เทคโนโลยี HAProxy ได้สร้างชุดอิมเมจ Docker ที่คุณสามารถใช้เพื่อปรับใช้ HAProxy ในคอนเทนเนอร์ Docker ต่อไปนี้เป็นขั้นตอนที่คุณควรปฏิบัติตาม
ขั้นตอนที่ 1: เริ่มนักเทียบท่า
ระบบของคุณต้องติดตั้ง Docker ไว้จึงจะสามารถเริ่มต้นได้ก่อนที่จะปรับใช้ HAProxy ขึ้นอยู่กับว่าคุณใช้ distro ใด ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Docker แล้ว สำหรับบทช่วยสอนนี้ เราจะทำงานร่วมกับ Ubuntu และตรวจสอบเวอร์ชัน Docker เพื่อยืนยันว่าได้รับการติดตั้งบนระบบของเราแล้ว
เมื่อคุณติดตั้ง Docker แล้ว ให้ตรวจสอบสถานะเพื่อให้แน่ใจว่า Docker ทำงานอยู่ คุณสามารถเริ่มต้นด้วยคำสั่งต่อไปนี้แล้วตรวจสอบสถานะ:
ขั้นตอนที่ 2: รับอิมเมจ Docker อย่างเป็นทางการของ HAProxy
อิมเมจ HAProxy Docker อย่างเป็นทางการมีให้ใช้งานจากฮับ Docker คุณสามารถดาวน์โหลดได้โดยการดึงด้วยคำสั่งต่อไปนี้:
- ซูโดะ นักเทียบท่าดึง haproxy
ยืนยันว่าเราได้ดาวน์โหลด HAProxy แล้วโดยตรวจสอบอิมเมจ Docker ที่พร้อมใช้งาน
- ซูโดะ ภาพนักเทียบท่า
ขั้นตอนที่ 3: สร้างเครือข่ายนักเทียบท่า
เนื่องจากเราจะใช้เว็บแอปพลิเคชันที่เราต้องการเชื่อมโยงกับ HAProxy จึงจำเป็นต้องมีเครือข่ายบริดจ์ นอกจากนี้การสร้างเครือข่ายยังช่วยแยกคอนเทนเนอร์เพื่อให้แต่ละคอนเทนเนอร์ใช้งานของตัวเอง
หากต้องการสร้างเครือข่ายบริดจ์ ให้ใช้ไวยากรณ์ต่อไปนี้:
- ซูโดะ เครือข่ายนักเทียบท่าสร้าง network_name
ตรวจสอบอย่างรวดเร็วว่าเครือข่ายถูกสร้างขึ้นโดยแสดงรายการเครือข่ายที่มีอยู่ในคอนเทนเนอร์ Docker ของคุณ
- ซูโดะ เครือข่ายนักเทียบท่า LS
เราได้สร้าง 'network1a' แล้วและปรากฏในผลลัพธ์ต่อไปนี้:
ขั้นตอนที่ 4: สร้างแอปพลิเคชันเว็บแบ็กเอนด์
เราสร้างอินสแตนซ์เว็บสองรายการเพื่อใช้กับโหลดบาลานเซอร์สำหรับการสาธิต Docker มีอินสแตนซ์ต่างๆ ที่คุณสามารถใช้ได้ ในกรณีนี้ เราใช้อิมเมจ Nginx เพื่อสร้างเว็บแอปพลิเคชัน
- ซูโดะ นักเทียบท่าวิ่ง -d --ชื่อ - ชื่อเว็บแอป - --เครือข่าย - ชื่อเครือข่าย - nginx
สร้างอินสแตนซ์อื่น
ขณะนี้เรามีอินสแตนซ์แอปพลิเคชันเว็บสองรายการบน Docker ของเรา ตรวจสอบสิ่งนี้ด้วยการรันคำสั่ง “docker ps”
ขั้นตอนที่ 5: สร้างไฟล์การกำหนดค่าของคุณ
คุณต้องสร้างไฟล์การกำหนดค่า HAProxy ที่คุณจะใช้กับ Docker ของคุณ เลือกตำแหน่งที่จะบันทึกไฟล์การกำหนดค่าของคุณ จากนั้นเปิดด้วยโปรแกรมแก้ไขข้อความ เรากำลังใช้นาโนสำหรับกรณีนี้ และเก็บไฟล์การกำหนดค่าของเราไว้ใน “/opt/haproxy/haproxy.cfg”
ไฟล์การกำหนดค่าของเรามีลักษณะดังนี้ สังเกตว่าแต่ละส่วนแสดงให้เห็นว่าเราต้องการให้ HAProxy กระจายโหลดบนเว็บแอปพลิเคชัน/เซิร์ฟเวอร์ของเราอย่างไร:
อีกครั้ง เรากำลังใช้พอร์ต 80 สำหรับการเชื่อมต่อส่วนหน้า และพอร์ต 8404 สำหรับผู้ฟัง
ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มชื่อที่ถูกต้องสำหรับเว็บแอปพลิเคชันของคุณภายใต้ส่วนแบ็กเอนด์ของไฟล์กำหนดค่า คุณยังสามารถใช้ที่อยู่ IP สำหรับเว็บแอปพลิเคชันของคุณแทนชื่อโฮสต์ได้ สุดท้ายให้บันทึกและออกจากไฟล์ จากนั้นคุณสามารถรีสตาร์ท HAProxy ได้
แทนที่จะสร้างไฟล์การกำหนดค่า คุณสามารถสร้างไฟล์ Docker ที่คัดลอกไฟล์การกำหนดค่าที่มีอยู่แล้วสร้างคอนเทนเนอร์ได้ อย่าลังเลที่จะใช้วิธีการที่เหมาะกับคุณที่สุด
ขั้นตอนที่ 6: ปรับใช้ HAProxy
ตอนนี้เราต้องสร้างคอนเทนเนอร์ HAProxy รัน และแมปพอร์ตกับคอนเทนเนอร์ที่เรารวมไว้ในไฟล์คอนฟิกูเรชัน เราตั้งชื่อคอนเทนเนอร์ของเราว่า 'haproxycontainer2' และแมปพอร์ต 80 และ 8404 จากโฮสต์ไปยังพอร์ตบนคอนเทนเนอร์ Docker
ด้วยเหตุนี้ คุณจึงสามารถปรับใช้ HAProxy ในคอนเทนเนอร์ Docker ได้ ตอนนี้คุณสามารถเข้าถึงเว็บแอปพลิเคชัน/เซิร์ฟเวอร์ของคุณได้แล้ว การรับส่งข้อมูลใด ๆ ที่ส่งถึงพวกเขาจะถูกกระจายโดยใช้ HAProxy เพื่อให้แน่ใจว่าเกิดการปรับสมดุลโหลด
บทสรุป
HAProxy ช่วยเรื่องการปรับสมดุลโหลดและแอปพลิเคชันอื่นๆ เมื่อทำงานกับ Docker คุณสามารถปรับใช้ HAProxy ได้เพื่อให้เว็บแอปพลิเคชันหรือสภาพแวดล้อมการพัฒนาของคุณได้รับวิธีที่สะดวกในการปรับสมดุลโหลด โพสต์นี้แชร์ขั้นตอนในการปรับใช้ HAProxy ในคอนเทนเนอร์ Docker ติดตามพวกเขาและทำเช่นเดียวกันกับกรณีของคุณ