Nội dung bài viết
#

Docker Swarm là gì? Tính năng và hoạt động của Docker Swarm

Nội dung bài viết

    Docker ra đời là một sự thay thế hoàn toàn cho các máy ảo. Với tính năng vượt trội hơn hẳn, Docker cho phép các nhà phát triển dễ dàng giải quyết các vấn đề nhanh chóng và chính xác hơn. Hãy cùng BKHOST tìm hiểu về nền tảng Docker và các đặc điểm của Docker Swarm ở bài viết dưới đây.

    Docker và Docker Container là gì?

    Docker-va-docker-container

    Docker là một công cụ cho phép triển khai ứng dụng với dung lượng tối ưu hoá nhằm nâng cao hiệu suất hoạt động trong mọi môi trường.

    Docker container là một gói phần mềm nhẹ gồm mã, framework hay thư viện… cần thiết để chạy một ứng dụng.

    Virtual machine va docker container

    Các Swarm giúp Docker hoạt động linh hoạt trên nhiều nút và có thể chia sẻ container với nhau hiệu quả hơn trong một hệ điều hành máy chủ.

    Docker Swarm là gì?

    Docker Swarm là một công cụ được sử dụng để thiết lập và triển khai một cụm gồm nhiều nút được chạy trên các ứng dụng Docker.

    Docker Swarm la gi

    Docker Swarm gồm nhiều nút Docker Daemon tương tác với nhau thông qua API và có nhiệm vụ triển khai các container trong Swarm.

    Cau truc Docker Swarm

    Năm yếu tố chính trong môi trường Docker đó là: Docker container, Docker daemon, Docker images, Docker client và Docker registry.

    Ví dụ về Docker container:

    Docker container

    Các Swarm có khả năng khắc phục các container bị lỗi.

    Docker compose va docker swarm

    Docker Swarm còn có khả năng sắp xếp các container bị lỗi nút bằng cách sử dụng thư mục sao lưu của các nút trong Swarm để khôi phục dữ liệu.

    Docker Swarm sap xep container

    Các tính năng của Docker Swarm

    Docker Swarm có các tính năng như:

    • Decentralized access hỗ trợ tiếp cận và quản lý môi trường.
    • High security giúp bảo mật các giao tiếp trong Swarm.
    • Autoload balancing giúp cân bằng tải và thiết lập các cấu trúc trong môi trường Swarm.
    • High scalability là khả năng mở rộng cho phép chuyển đổi môi trường Swarm sang một cơ sở hạ tầng tốt hơn.
    • Roll-back a task có khả năng khôi phục môi trường an toàn trước khi xảy ra lỗi.

    Các khái niệm về Swarm Mode

    Service and Tasks

    Service and Tasks

    • Docker container hoạt động dựa trên các dịch vụ.
    • Có hai cách triển khai dịch vụ chính là tổng thể và sao chép.
    • Dịch vụ tổng thể có nhiệm vụ quản lý các container chạy trên nút Swarm, còn dịch vụ sao chép giúp quản lý lượng truy cập giống nhau trên máy chủ.
    • Dịch vụ cho phép mở rộng quy mô ứng dụng.
    • Điều kiện để triển khai dịch vụ trong Swarm đó là thiết lập các nút.
    • Dịch vụ được truy cập bởi mọi nút trong nhóm.
    • Một dịch vụ bao gồm nhiệm vụ thực hiện các công việc.
    • Dịch vụ được thiết lập dựa trên Docker và một nút cụ thể.

    Node

    • Mỗi một nút Swarm là một phiên bản của công cụ Docker.
    • Một máy chủ có thể chạy nhiều nút khác nhau.
    • Trong một mô hình các nút được phân phối chạy trên các thiết bị khác nhau.

    Docker Swarm hoạt động như thế nào?

    Gói dịch vụ bao gồm một nhóm các container của hình ảnh được sử dụng để thay đổi quy mô ứng dụng trong Swarm. Điều kiện của việc triển khai dịch vụ này đó là thiết lập các nút như nút quản lý hoặc nút thực thi.

    Ví dụ:

    Nút quản lý gửi lệnh đến nút thực thi.

    Docker Swarm hoat dong

    Nút quản lý có nhiệm vụ theo dõi các nút thực thi trong cụm thực hiện các tác vụ được yêu cầu. Sau đó các agent của nút thực thi sẽ tiến hành báo cáo công việc về nút quản lý. Hai nút này giao tiếp với nhau bằng API thông qua HTTP cho phép triển khai và truy cập các dịch vụ dễ dàng hơn.

    Ví dụ về hoạt động của Swarm:

    hoat dong cua Swarm

    Swarm với các liên kết API cho phép điều phối và tạo tác vụ tương ứng cho dịch vụ thông qua giao diện dòng lệnh. Đồng thời các địa chỉ IP cũng được sử dụng để phân chia nhiệm vụ công việc chi tiết hơn thông qua các nút thực thi chạy trên tác vụ.

    So sánh Kubernetes vs Docker Swarm

    Tính năngKubernetesDocker Swarm
    Cài đặtPhức tạpĐơn giản
    Cân bằng tảiKhông tự độngTự động
    Khả năng mở rộngHoạt động chậmHoạt động nhanh
    CụmKhó thiết lậpDễ dàng thiết lập
    Thiết lập containerTriển khai thông qua hình thức thiết lập lạiTriển khai trực tiếp
    Ghi nhật ký và giám sátCông cụ tích hợp để quản lý cả hai quy trìnhCác công cụ không cần thiết để ghi nhật ký và giám sát
    Tính khả dụngTính khả dụng caoTăng tính khả dụng
    Khối lượng dữ liệuĐược chia sẻ với các container từ cùng một nhómCó thể được chia sẻ với mọi container

    Thử nghiệm trên Docker Swarm cho người mới bắt đầu

    Để triển khai Docker Engine, chạy các lệnh Docker và cài đặt Docker Swarm cần có một số điều kiện như hai máy chủ khác nhau, hệ điều hành Ubuntu 64-bit, tài khoản Ubuntu…

    Bước 1: Cập nhật kho phần mềm bằng lệnh:

    {{EJS0}}

    Bước 2: Gỡ cài đặt các phiên bản Docker cũ bằng lệnh:

    {{EJS1}}

    Bước 3: Cài đặt Docker trên Ubuntu bằng lệnh:

    {{EJS2}}

    Bước 4: Thiết lập Docker trong cửa sổ dòng lệnh:

    {{EJS3}}
    {{EJS4}}

    Bước 5: Xác minh phiên bản Docker bằng lệnh:

    {{EJS5}}

    Bước 6: Chạy Docker Container

    Lấy MySQL trong Docker Image từ Docker Hub:

    {{EJS6}}
    {{EJS7}}

    Sau đó, lấy MySQL mới nhất và liệt kê các Docker Image trên máy bằng bệnh:

    {{EJS8}}

    Bước 7: Tạo Swarm với địa chỉ IP của nút quản lý với lệnh:

    {{EJS9}}

    Hoàn thành cấu hình:

    hoan thanh cau hinh Swarm voi dia chi ip

    Tạo nút thực thi bằng cách sao chép lệnh “swarm init” và dán đầu ra vào đó:

    {{EJS10}}

    Kết quả hiển thị:

    Ket qua hien thi

    Quay trở lại nút quản lý để liệt kê nút thực thi bằng lệnh:

    {{EJS11}}

    Hoàn tất thiết lập Swarm Cluster:

    hoan tat thiet lap Swarm Cluster

    Khởi chạy dịch vụ trong Swarm với nút quản lý bằng lệnh:

    {{EJS12}}

    Lệnh này cho phép truy cập tệp HelloWorld từ hệ thống từ xa, để kiểm tra hãy chạy lệnh:

    {{EJS13}}

    Kết quả hiển thị như sau:

    Ket qua hien thi

    Tổng kết về Docker Swarm

    Trên đây là một số thông tin về Docker Swarm mà chúng tôi đã tóm lược và hy vọng bạn sẽ áp dụng tốt nhất loại công cụ này vào dự án của mình. Ngoài ra, vẫn còn có những vấn đề khác liên quan đến Docker chưa được đề cập đến trong bài viết này.

    Nếu bạn có thắc mắc về Docker Swarm, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

    P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

    Mua Hosting tại BKHOST

    Khuyến mãi giảm giá cực sâu, chỉ từ 5k/tháng. Đăng ký ngay hôm nay:

    mua hosting

    Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
    Bình luận
    Trượt lên đầu trang
    Miễn phí cước gọi
    Chat ngay qua Zalo
    Chat ngay qua Messenger
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !