2013-10-05 14 views
25

Gần đây, Google đã mở mã nguồn mở lmctfy, ngăn xếp vùng chứa của Google. Tôi không hiểu lắm, tôi có một vài câu hỏi.Sự khác biệt giữa lmctfy và lxc

Sự khác biệt giữa lmctfy và lxc và docker là gì?
Google giải quyết vấn đề gì với lmctfy?

Cảm ơn

Trả lời

46

Một trong những nhà phát triển lmctfy tại đây. Tôi sẽ cố gắng bắt đầu với một lớp lót và đưa vào một số chi tiết sau này.

Nhân Linux hỗ trợ các nhóm để tách biệt tài nguyên (cpu, bộ nhớ, khối, mạng, v.v.) không yêu cầu khởi động máy ảo. Nó cũng cung cấp không gian tên để cô lập hoàn toàn chế độ xem ứng dụng của môi trường hoạt động (xử lý cây, mạng, id người dùng, gắn kết).

LXC kết hợp hỗ trợ cgroup và không gian tên để cung cấp môi trường riêng biệt cho ứng dụng. Docker xây dựng trên LXC để thêm các dịch vụ quản lý và triển khai hình ảnh vào nó.

lmctfy hoạt động cùng cấp với LXC. Bản phát hành hiện tại được xây dựng trên các nhóm và bản phát hành tiếp theo sẽ thêm hỗ trợ không gian tên.

Do Docker hoạt động ở mức cao hơn, tôi sẽ chỉ tập trung vào sự khác biệt giữa lmctfy và lxc.

  • Quản lý tài nguyên API: LXC API được xây dựng để hỗ trợ không gian tên và hỗ trợ nhóm xuất gần như minh bạch. API cgroup của Linux không ổn định và khó giải quyết. Với lmctfy, chúng tôi đã cố gắng cung cấp một cấu hình tài nguyên dựa trên ý định mà không cần người dùng phải hiểu chi tiết về các nhóm.

  • Ưu tiên - Quá tải và chia sẻ: lmctfy được xây dựng để cung cấp hỗ trợ chia sẻ tài nguyên và cho các máy quá tải với khối lượng công việc có thể chạy khi máy tương đối nhàn rỗi. Tất cả các ứng dụng đều chỉ định các yêu cầu ưu tiên và độ trễ. lmctfy quản lý tất cả các chi tiết nhóm để tôn trọng các yêu cầu ưu tiên và độ trễ cho mỗi tác vụ.

  • Giao diện lập trình: lmctfy là khối quản lý ứng dụng thấp nhất cho đám mây của Google. Nó được xây dựng để làm việc với các công cụ và chương trình khác. Chúng tôi cảm thấy nó được chỉ định tốt hơn và ổn định hơn để xây dựng các công cụ phức tạp hơn trên nó.

Chúng tôi đã quản lý tất cả các nhu cầu cách ly tài nguyên của Google từ năm 2007. Cho đến nay, nó đã được đưa vào các phần khác của Cơ sở hạ tầng của Google. Trong quá trình thiết kế lại, chúng tôi có thể tách lớp này ra một cách sạch sẽ và nghĩ rằng sẽ rất thú vị khi bỏ nó ra và trả lại.

Tôi đã cho một Thợ ống nước Linux nói chuyện vào tháng 9 về lmctfy. Bạn có thể kiểm tra một số chi tiết có: http://www.linuxplumbersconf.org/2013/ocw/events/LPC2013/tracks/153

slide: http://www.linuxplumbersconf.org/2013/ocw//system/presentations/1239/original/lmctfy%20(1).pdf

+4

Đừng quên video của buổi nói chuyện: https://www.youtube.com/watch?v=UdZOSQHFmss – olemartinorg

+0

"Chúng tôi không tích cực phát triển lmctfy hơn nữa và đã chuyển những nỗ lực của chúng tôi để libcontainer "https://github.com/google/lmctfy -> https://github.com/docker/libcontainer DỰ ÁN CHUYỂN ĐẾN RUNC -> https://github.com/opencontainers/runc – rofrol

Các vấn đề liên quan