DevOPS Kubernetes

MetalLB là gì ?

congdonglinux-logo-metallb-v2

Giới thiệu về MetalLB

MetalLB là một giải pháp triển khai cân bằng tải cho các cluster Kubernetes trên hạ tầng bare metal, sử dụng các giao thức định tuyến tiêu chuẩn.

Đây là một bộ cân bằng tải được thiết kế dành riêng cho bare metal Kubernetes, MetalLB cho phép bạn triển khai dịch vụ Kubernetes thuộc loại LoadBalancer. Sau đó, MetalLB tự động định tuyến lưu lượng truy cập bằng cách sử dụng một nhóm địa chỉ IP mà bạn xác định sẵn trước đó.

Mặc dù MetalLB không phải là giải pháp quản lý lưu lượng truy cập duy nhất dành cho bare metal Kubernetes (Một số dịch vụ khác như Porter hoặc một kỹ thuật như NodePort). Tuy nhiên, MetalLB cung cấp một số tính năng nổi bật so với các dịch vụ khác.

Hãy tiếp tục đọc để biết chi tiết về lý do tại sao MetalLB là một lựa chọn tốt, cách thức hoạt động cũng như cách bắt đầu sử dụng nó.

Tại sao cần MetalLB ?

Kubernetes không cung cấp triển khai bộ cân bằng tải dạng LoadBalancer cho các bare-metal clusters. Dịch vụ LoadBalancer cho Kubernetes chỉ được cung cấp bởi các hãng Cloud như (GCP, AWS, Azure…). Nếu như bạn không sử dụng các hãng Cloud, mà vẫn cấu hình tính năng Loadbalacer cho K8s, thì nó sẽ hiển thị trạng thái “pending” vô thời hạn. 

Để có thể quản lý traffic vào các Cluster K8s, chúng ta có 2 lựa chọn là dùng NodePort hoặc externalIPs. Tuy nhiên, hai cách thức này có những nhược điểm khi sử dụng trong môi trường Production. 

MetalLB ra đời nhằm mục đích khắc phục các nhược điểm này, bằng cách cung cấp bộ cân bằng tải tích hợp với thiết bị mạng tiêu chuẩn, để việc quản lý traffic trên bare-metal clusters cũng hoạt động tốt không kém gì các nhà cung cấp dịch vụ Cloud.

MetalLB có những lợi ích gì ?

Một số lợi ích khi sử dụng MetalLB bao gồm:

Dễ thiết lập: Bạn chỉ cần tạo load balancer Service và gán nhóm địa chỉ IP cho MetalLB.

+ Dễ mở rộng: MetalLB tự động hóa hầu hết các việc quản lý lưu lượng, nó không giống như NodePort và InternalIP là phải yêu cầu thay đổi cấu hình. Do đó, nó có thể mở rộng để hỗ trợ cho hàng chục hoặc thậm chí hàng trăm ứng dụng nếu bạn cần.

Phù hợp với cân bằng tải trên các hạ tầng Cloud: Vì MetalLB sử dụng cấu hình Dịch vụ LoadBalancer thay vì các phương pháp định tuyến chuyên dụng như NodePort, nên bạn có thể cấu hình MetalLB theo cách rất giống việc cấu hình trên các nền tảng Cloud. Nếu bạn đã quen với cân bằng tải Kubernetes trong AWS, Azure hoặc GCP thì có thể bạn sẽ thấy MetalLB cũng rất dễ dàng tiếp cận.

Vì những lý do này, MetalLB là giải pháp rõ ràng cho hầu hết các nhu cầu cân bằng tải và định tuyến cho bare-metal hiện nay. Các phương thức cũ hơn, như NodePort và externalIP, vẫn được hỗ trợ đầy đủ trong Kubernetes, ít nhất là ở thời điểm hiện tại. Nhưng MetalLB là lựa chọn đơn giản và hiệu quả hơn nhiều so với các phương pháp truyền thống.

How to configure MetalLB

Kết bài

Trên đây là những thông tin cơ bản về giải pháp Loadbalacer cho bare-metal Kubernetes. Ở những bài sau, chúng ta sẽ tìm hiểu nhiều hơn về các khái niệm, cơ chế hoạt động, cách cài đặt và sử dụng MetalLB. 

Mã Bài viết: 
784675826

 

Đăng ký liền tay Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !

Add Comment

Click here to post a comment

Đăng ký liền tay
Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !