Thứ tư, 24/09/2014 | 00:00 GMT+7

Giới thiệu về Mesosphere


Mesosphere là gì

Mesosphere là một giải pháp phần mềm mở rộng khả năng quản lý cụm của Apache Mesos với các thành phần bổ sung để cung cấp một cách mới và mới để quản lý cơ sở hạ tầng server . Bằng cách kết hợp một số thành phần với Mesos, chẳng hạn như Marathon và Chronos, Mesosphere cho phép một cách dễ dàng mở rộng các ứng dụng bằng cách trừu tượng hóa nhiều thách thức liên quan đến việc mở rộng quy mô.

Mesosphere cung cấp các tính năng như lập lịch ứng dụng, mở rộng quy mô, khả năng chịu lỗi và tự phục hồi. Nó cũng cung cấp khả năng khám phá dịch vụ ứng dụng, hợp nhất cổng và độ elastic điểm cuối.

Để có một ý tưởng tốt hơn về cách Mesosphere cung cấp các tính năng nói trên, ta sẽ giải thích ngắn gọn từng thành phần chính của Mesosphere làm gì, bắt đầu với Apache Mesos và chỉ ra cách mỗi thành phần được sử dụng trong ngữ cảnh của Mesosphere.

Tổng quan cơ bản về Apache Mesos

Apache Mesos là một trình quản lý cụm open-souce giúp đơn giản hóa việc chạy các ứng dụng trên một cụm server có thể mở rộng và là trung tâm của hệ thống Mesosphere.

Mesos cung cấp nhiều tính năng mà bạn mong đợi từ một trình quản lý cụm, chẳng hạn như:

  • Khả năng mở rộng lên hơn 10.000 nút
  • Cách ly tài nguyên cho các việc thông qua Vùng chứa Linux
  • Lập lịch tài nguyên nhận biết bộ nhớ và CPU hiệu quả
  • Bản chính rất sẵn có thông qua Apache ZooKeeper
  • Giao diện user web để giám sát trạng thái cụm

Kiến trúc Mesos

Mesos có một kiến trúc bao gồm các daemon chủ và slaver , và các khuôn khổ. Dưới đây là bảng phân tích nhanh về các thành phần này và một số điều khoản có liên quan:

  • Daemon chính : chạy trên một nút chính và quản lý các daemon slaver
  • Daemon Slave : chạy trên một nút chính và chạy các việc thuộc về các khuôn khổ
  • Framework : còn gọi là ứng dụng Mesos, bao gồm một bộ lập lịch , bộ này đăng ký với cái chính để nhận các đề xuất tài nguyên và một hoặc nhiều bộ thực thi , chạy các việc trên slaver . Ví dụ về các khuôn khổ Mesos bao gồm Marathon, Chronos và Hadoop
  • Đề nghị : danh sách tài nguyên bộ nhớ và CPU có sẵn của nút phụ. Tất cả các node slaver gửi phiếu mua hàng đến nút chính và nút chủ cung cấp phiếu mua hàng cho các khung đã đăng ký
  • Tác vụ : một đơn vị công việc được lên lịch bởi một khuôn khổ và được thực thi trên một nút phụ. Một tác vụ có thể là bất cứ thứ gì từ lệnh hoặc tập lệnh bash, truy vấn SQL, đến công việc Hadoop
  • Apache ZooKeeper : phần mềm được sử dụng để điều phối các node chính

Kiến trúc Mesos

Lưu ý: “ZK” đại diện cho ZooKeeper trong sơ đồ này.

Kiến trúc này cho phép Mesos chia sẻ tài nguyên của cụm giữa các ứng dụng với mức độ chi tiết cao. Số lượng tài nguyên được cung cấp cho một khung cụ thể dựa trên policy được đặt trên khung chính và bộ lập lịch khung quyết định sử dụng ưu đãi nào. Sau khi bộ lập lịch khung quyết định cung cấp nào mà nó muốn sử dụng, nó sẽ cho Mesos biết nhiệm vụ nào nên được thực thi và Mesos chạy các việc trên các slaver thích hợp. Sau khi các nhiệm vụ được hoàn thành và các tài nguyên đã tiêu thụ được giải phóng, chu trình cung cấp tài nguyên sẽ lặp lại để có thể lên lịch nhiều nhiệm vụ hơn.

Tính khả dụng cao

Tính khả dụng cao của các phần mềm Mesos trong một cụm được kích hoạt thông qua việc sử dụng Apache ZooKeeper để sao chép các bản root để tạo thành một group túc số . ZooKeeper cũng điều phối việc bầu cử lãnh đạo chính và xử lý phát hiện lãnh đạo giữa các thành phần Mesos, bao gồm slaver và khuôn khổ.

Cần có ít nhất ba nút chính cho một cấu hình có tính khả dụng cao – một cài đặt ba chính cho phép số đại biểu được duy trì trong trường hợp một nút chính duy nhất bị lỗi – nhưng năm nút chính được khuyến khích cho môi trường production linh hoạt, cho phép số đại biểu được duy trì với hai nút chính offline .

Để biết thêm về Apache Mesos, hãy truy cập trang tài liệu chính thức của nó .

Tổng quan cơ bản về Marathon

Marathon là một khuôn khổ cho Mesos được thiết kế để chạy các ứng dụng chạy lâu dài và trong Mesosphere, nó đóng role thay thế cho hệ thống init truyền thống. Nó có nhiều tính năng giúp đơn giản hóa việc chạy các ứng dụng trong môi trường phân cụm, chẳng hạn như tính khả dụng cao, các ràng buộc của nút, kiểm tra tình trạng ứng dụng, một API cho khả năng tập lệnh và khám phá dịch vụ cũng như giao diện user web dễ sử dụng. Nó bổ sung khả năng mở rộng quy mô và khả năng tự phục hồi vào bộ tính năng Mesosphere.

Marathon được dùng để bắt đầu các khung công tác Mesos khác và nó cũng có thể chạy bất kỳ quá trình nào có thể được bắt đầu trong shell thông thường. Vì nó được thiết kế cho các ứng dụng chạy lâu, nó sẽ đảm bảo các ứng dụng nó đã chạy sẽ tiếp tục chạy, ngay cả khi (các) nút slaver mà chúng đang chạy bị lỗi.

Để biết thêm về Marathon, hãy truy cập trang GitHub của nó .

Tổng quan cơ bản về Chronos

Chronos là một khuôn khổ cho Mesos, ban đầu được phát triển bởi Airbnb để thay thế cho cron . Như vậy, nó là một bộ lập lịch có đầy đủ tính năng, được phân phối và có khả năng chịu lỗi cho Mesos, giúp giảm bớt sự sắp xếp các công việc, đó là các tập hợp các nhiệm vụ. Nó bao gồm một API cho phép viết kịch bản các công việc lên lịch và một giao diện user web để dễ sử dụng.

Trong Mesosphere, Chronos khen ngợi Marathon vì nó cung cấp một cách khác để chạy các ứng dụng, theo lịch trình hoặc các điều kiện khác, chẳng hạn như hoàn thành một công việc khác. Nó cũng có khả năng lên lịch công việc trên nhiều nút slaver Mesos và cung cấp số liệu thống kê về thất bại và thành công của công việc.

Để biết thêm về Chronos, hãy truy cập trang GitHub của nó .

Tổng quan cơ bản về HAProxy

HAProxy là một giải pháp cân bằng tải và ủy quyền ngược open-souce phổ biến. Nó được dùng trong Mesosphere để định tuyến lưu lượng mạng từ các server đã biết, điển hình là server Mesos, đến các dịch vụ thực tế đang chạy trên các node slaver của Mesos. Khả năng khám phá dịch vụ của Mesos được dùng để cấu hình động HAProxy để định tuyến lưu lượng đến đến các node backend backend thích hợp.

Để biết thêm về các khả năng chung của HAProxy, hãy xem phần Giới thiệu về HAProxy của ta .

Kết luận

Mesosphere sử dụng các mô hình cơ sở hạ tầng server có vẻ không quen thuộc, vì nó được thiết kế tập trung mạnh vào phân cụm và khả năng mở rộng, nhưng hy vọng bây giờ bạn đã hiểu rõ về cách hoạt động của nó. Mỗi thành phần mà nó dựa trên cung cấp giải pháp cho các vấn đề thường gặp phải khi xử lý phân cụm và mở rộng cơ sở hạ tầng server và Mesosphere nhằm mục đích cung cấp giải pháp hoàn chỉnh cho những nhu cầu này.

Đến đây bạn đã biết những điều cơ bản về Mesosphere, hãy xem hướng dẫn tiếp theo trong loạt bài này. Nó sẽ dạy bạn cách cài đặt một cụm Mesosphere sẵn sàng production trên Ubuntu 14.04 !


Tags:

Các tin liên quan