วิธีการปรับใช้ HAProxy ใน Docker Container

Withi Kar Prab Chi Haproxy Ni Docker Container



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

การปรับใช้ HAProxy ในคอนเทนเนอร์ Docker

เมื่อทำงานกับแอปพลิเคชันหรือเซิร์ฟเวอร์ของคุณ HAProxy มีประโยชน์ในการช่วยให้คุณควบคุมการรับส่งข้อมูลเพื่อให้ได้ประสิทธิภาพและความสามารถในการปรับขนาดในระดับสูง นอกจากนี้ Docker ยังมอบแพลตฟอร์มให้คุณปรับใช้และปรับขนาดแอปพลิเคชันของคุณได้อย่างราบรื่น เมื่อรวมทั้งสองสิ่งนี้เข้าด้วยกัน ความสามารถในการปรับขนาดและความต้องการใช้งานอื่นๆ ของคุณจะได้รับการตอบสนองอย่างดี







นอกจากนี้ เทคโนโลยี HAProxy ได้สร้างชุดอิมเมจ Docker ที่คุณสามารถใช้เพื่อปรับใช้ HAProxy ในคอนเทนเนอร์ Docker ต่อไปนี้เป็นขั้นตอนที่คุณควรปฏิบัติตาม



ขั้นตอนที่ 1: เริ่มนักเทียบท่า



ระบบของคุณต้องติดตั้ง Docker ไว้จึงจะสามารถเริ่มต้นได้ก่อนที่จะปรับใช้ HAProxy ขึ้นอยู่กับว่าคุณใช้ distro ใด ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Docker แล้ว สำหรับบทช่วยสอนนี้ เราจะทำงานร่วมกับ Ubuntu และตรวจสอบเวอร์ชัน Docker เพื่อยืนยันว่าได้รับการติดตั้งบนระบบของเราแล้ว






เมื่อคุณติดตั้ง Docker แล้ว ให้ตรวจสอบสถานะเพื่อให้แน่ใจว่า Docker ทำงานอยู่ คุณสามารถเริ่มต้นด้วยคำสั่งต่อไปนี้แล้วตรวจสอบสถานะ:

- ซูโดะ systemctl เริ่มนักเทียบท่า




ขั้นตอนที่ 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 ติดตามพวกเขาและทำเช่นเดียวกันกับกรณีของคุณ