Cách triển khai HAProxy trong Docker Container

Cach Trien Khai Haproxy Trong Docker Container



Với HAProxy, bạn có thể triển khai nó trong vùng chứa Docker thay vì chạy dưới dạng gói trên hệ thống của mình. Sử dụng Docker đảm bảo rằng bạn không can thiệp vào các gói khác và là một cách để có một môi trường tách biệt để chạy HAProxy làm proxy ngược hoặc cho các mục đích khác. Chạy HAProxy trên Docker là một nhiệm vụ đơn giản. Bài đăng này thảo luận về các bước để làm theo. Đọc tiếp!

Triển khai HAProxy trong Docker Container

Khi làm việc với các ứng dụng hoặc máy chủ của bạn, HAProxy rất tiện lợi trong việc cho phép bạn kiểm soát lưu lượng để đạt được hiệu suất và khả năng mở rộng cao. Hơn nữa, Docker cung cấp cho bạn một nền tảng để triển khai và mở rộng quy mô ứng dụng của bạn một cách liền mạch. Kết hợp cả hai, khả năng mở rộng của bạn và các nhu cầu triển khai khác sẽ được đáp ứng tốt.







Ngoài ra, công nghệ HAProxy đã xây dựng một bộ Docker image mà bạn có thể sử dụng để triển khai HAProxy trong vùng chứa Docker. Sau đây là các bước mà bạn nên làm theo.



Bước 1: Khởi động Docker



Hệ thống của bạn phải cài đặt Docker để khởi động trước khi triển khai HAProxy. Tùy thuộc vào bản phân phối bạn đang sử dụng, hãy đảm bảo rằng bạn đã cài đặt Docker. Đối với hướng dẫn này, chúng tôi sẽ làm việc với Ubuntu và kiểm tra phiên bản Docker để xác nhận rằng nó đã được cài đặt trên hệ thống của chúng tôi.






Khi bạn đã cài đặt Docker, hãy kiểm tra trạng thái của nó để đảm bảo rằng nó đang chạy. Bạn có thể khởi động nó bằng lệnh sau và sau đó kiểm tra trạng thái của nó:

$ sudo docker khởi động systemctl




Bước 2: Lấy hình ảnh Docker chính thức của HAProxy

Hình ảnh HAProxy Docker chính thức có sẵn từ trung tâm Docker. Bạn có thể tải xuống bằng cách kéo nó bằng lệnh sau:

$ sudo docker kéo haproxy


Xác nhận rằng chúng tôi đã tải xuống HAProxy bằng cách kiểm tra các hình ảnh Docker có sẵn.

$ sudo hình ảnh docker


Bước 3: Tạo mạng Docker

Vì chúng tôi sẽ sử dụng các ứng dụng web mà chúng tôi muốn liên kết với HAProxy nên cần có mạng cầu nối. Ngoài ra, việc tạo mạng cũng giúp tách biệt các container để mỗi container sử dụng riêng.

Để tạo một mạng cầu nối, hãy sử dụng cú pháp sau:

$ sudo mạng docker tạo network_name


Xác minh nhanh chóng rằng mạng đã được tạo bằng cách liệt kê các mạng có sẵn trong vùng chứa Docker của bạn.

$ sudo mạng docker ls


Chúng tôi đã tạo “network1a” và nó xuất hiện ở đầu ra sau:


Bước 4: Tạo ứng dụng web phụ trợ

Chúng tôi tạo hai phiên bản web để sử dụng với bộ cân bằng tải của mình để minh họa. Docker có nhiều phiên bản khác nhau mà bạn có thể sử dụng. Trong trường hợp này, chúng tôi sử dụng hình ảnh Nginx để tạo các ứng dụng web.

$ sudo docker chạy -d --tên < tên ứng dụng web > --mạng < tên mạng > nginx


Tạo phiên bản khác.


Hiện tại chúng tôi có hai phiên bản ứng dụng web trên Docker của mình. Xác minh điều này bằng cách chạy lệnh “docker ps”.


Bước 5: Tạo tệp cấu hình của bạn

Bạn phải tạo tệp cấu hình HAProxy mà bạn sẽ sử dụng với Docker của mình. Chọn nơi lưu tập tin cấu hình của bạn. Sau đó, mở nó bằng trình soạn thảo văn bản. Chúng tôi đang sử dụng nano cho trường hợp này và có tệp cấu hình được lưu trữ trong “/opt/haproxy/haproxy.cfg”.


Tệp cấu hình của chúng tôi trông như sau. Lưu ý cách mỗi phần hiển thị cách chúng tôi muốn HAProxy phân phối tải trên các ứng dụng/máy chủ web của chúng tôi:


Một lần nữa, chúng tôi đang sử dụng cổng 80 cho kết nối giao diện người dùng và cổng 8404 cho người nghe.


Đảm bảo rằng bạn đã thêm tên chính xác cho ứng dụng web của mình trong phần phụ trợ của tệp cấu hình. Bạn cũng có thể sử dụng địa chỉ IP cho các ứng dụng web của mình thay vì tên máy chủ của chúng. Cuối cùng, lưu và thoát tập tin. Sau đó bạn có thể khởi động lại HAProxy.


Thay vì tạo tệp cấu hình, bạn có thể tạo tệp Docker sao chép tệp cấu hình hiện có rồi tạo vùng chứa. Hãy thoải mái sử dụng phương pháp phù hợp nhất với bạn.

Bước 6: Triển khai HAProxy

Bây giờ chúng ta phải tạo một vùng chứa HAProxy, chạy nó và ánh xạ cổng của nó tới cổng mà chúng ta đã đưa vào tệp cấu hình. Chúng tôi đặt tên cho vùng chứa của mình là “haproxycontainer2” và ánh xạ các cổng 80 và 8404 từ máy chủ đến các cổng trên vùng chứa Docker.


Với điều đó, bạn đã quản lý để triển khai HAProxy trong vùng chứa Docker. Bây giờ bạn có thể truy cập các ứng dụng/máy chủ web của mình. Bất kỳ lưu lượng truy cập nào được chuyển đến chúng sẽ được phân phối bằng HAProxy để đảm bảo cân bằng tải xảy ra.

Phần kết luận

HAProxy giúp cân bằng tải và các ứng dụng khác. Khi làm việc với Docker, bạn có thể triển khai HAProxy sao cho các ứng dụng web hoặc môi trường phát triển của bạn có được cách cân bằng tải thuận tiện. Bài đăng này đã chia sẻ các bước để triển khai HAProxy trong vùng chứa Docker. Hãy theo dõi họ và làm điều tương tự cho trường hợp của bạn.