73 lines
18 KiB
JSON
73 lines
18 KiB
JSON
{
|
||
"success": true,
|
||
"data": {
|
||
"markdown": "[Bỏ qua nội dung](https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html#main)\n\nXin chào các bạn.\n\nMột chiếc máy tính Pi nhỏ với cấu hình xíu xíu có thể không làm nên được việc gì mạnh mẽ; nhưng nếu nhiều chiếc máy tính Pi nhỏ cùng hợp lại thì sao nhỉ? Đã bao giờ bạn nghĩ đến điều đó chưa? Rất hay là Docker có thêm tính năng Docker Swarm cho phép bạn thực hiện điều này. Docker Swarm là công cụ native clustering cho Docker. Cho phép ta có thể gom một số Docker host lại với nhau thành dạng cụm (cluster) và ta có xem nó như một máy chủ Docker ảo (virtual Docker host) duy nhất. Và Swarm mode cung cấp cho ta các tính năng để quản lý và điều phối cluster.\n\n(Xem thêm tại: [https://viblo.asia/…/tim-hieu-docker-swarm-voi-vi-du-co…](https://viblo.asia/p/tim-hieu-docker-swarm-voi-vi-du-co-ban-4P856JmR5Y3)).\n\nSau khi nghiên cứu, tôi phát hiện ra hầu hết các sản phẩm Orange Pi đều có thể cài được docker (arm64/armhf), và như vậy cài được swarm và cho phép bạn tạo ra 1 cluster từ 4 đến 8 nodes để triển khai (deploy) một ứng dụng (stack) theo nhu cầu. Cách cài hết sức đơn giản. Đầu tiên bạn cần:\n\n1. Một số lượng Orange Pi từ 4 đến 8 cái, nhưng có thể 16 cái hoặc 32 cái tùy bạn. Tốt nhất bạn nên chọn đồng nhất các thiết bị, ví dụ như toàn bộ là [Orange Pi Zero2](https://orangepi.vn/shop/san-pham-moi-orange-pi-zero2-chip-h616-ram-512m-1gb-hdmi-cap-nguon-usb-type-c), hoặc toàn bộ là [Orange Pi PC Plus](https://orangepi.vn/shop/may-tinh-nhung-orange-pi-pc-plus-arm-h3-quad-core-cortex-a7-1gb-ddram3) hoặc [Orange PI Plus 2e](https://orangepi.vn/shop/orange-pi-plus-2e). Nhưng nếu tận dụng các sản phẩm có sẵn, bạn có thể sử dụng các thiết bị khác nhau. Một chút thẩm mĩ, bạn cần thêm cọc đồng, khay và các phụ kiện lặt vặt làm thành 1 cái box đẹp khác.\n2. Một switch có đủ số lỗ mạng cho số lượng OPi trong cluster của bạn và thêm 1 cái cho đường Internet. Ví dụ cluster 8 cái thì bạn cần 1 cái switch 9 cổng. Như cái trong ảnh minh họa, có bán trên shopee link sau: [Switch 9 cổng RJ45 lan ethernet](https://shopee.vn/product/37995875/12873627312/)\n3. Thẻ nhớ, Dây mạng và dây nguồn, đủ 8 cái\n4. Nguồn: cái này khá quan trọng, bạn cần đủ số lượng nguồn cho OPi, ngoài ra, nếu switch của bạn có thể dùng nguồn usb như ảnh minh họa, thì bạn cũng cần 1 bộ nguồn có đủ công suất và đủ số lượng cổng USB tương ứng. Ở đây tôi dùng nguồn 40A, 12 cổng USB có bán trên shopee link sau. [Nguồn 12 cổng USB 3.5A 2.5A và 1.5A](https://shopee.vn/product/37995875/13473615942/)\n\n\nTrong trường hợp không còn nguồn như vậy bạn có thể dùng 8 cái [nguồn Orange Pi usb type C](https://orangepi.vn/shop/nguon-5v3a-chan-usb-type-c-dung-cho-orange-pi-zero2-r1-plus) này, nhưng có vẻ sẽ rất là vướng víu\n\nOK. Và chúng ta bắt đầu.\n\nCài hệ điều hành yêu thích của bạn vào thẻ nhớ, có thể là Ubuntu hoặc Debian, tôi khuyên nên dùng bản build trên Armbian cho tiện dụng. Trong ví dụ này tôi dùng ubuntu, debian cũng tương tự. Sau khi cài xong hệ điều hành vào thẻ nhớ, bạn khởi động cả 8 OPi, ssh vào, thay đổi mật khẩu root, thay đổi ngày giờ, đổi tên chúng theo thứ tự để dễ phân biệt. Ví dụ node0 là manager, các node khác tiếp tục từ 1 đến xx\n\n### **Cài docker**\n\nTrong câu lệnh `armbian-config` cũng có tùy chọn cài docker có sẵn, bạn có thể sử dụng nó nếu không muốn đánh câu lệnh. Nhưng tôi thấy hầu như khả năng thành công kém hơn là sử dụng câu lệnh trực tiếp như thế này\n\n`curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\n\necho \"deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list`\n\nĐối với Orange Pi Zero2, bạn sử dụng arch=arm64, nhưng nếu là Orange PI PC hoặc các chip đời H2, H3 … thì bạn sử dụng arch=armhf như sau\n\n`curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\n\necho \"deb [arch=armhf] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list`\n\nCập nhật repo và cài các ứng dụng cần thiết\n\n`apt-get update --fix-missing\n\napt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat software-properties-common gnupg2`\n\nNếu không có lỗi gì tiếp tục cài docker và docker-compose\n\n`apt-get install docker-ce docker-compose -y`\n\nNếu mọi thứ suôn sẻ, bạn sẽ cài xong mà ko gặp lỗi gì. Tất cả mất chưa đầy 5p cho 1 bo mạch, tuy nhiên bạn cần lặp lại việc này từ 4 đến 8 lần, nghe có vẻ hơi nhàm chán đúng ko? Do vậy tôi đã viết sẵn một bash script sau. Bạn tải về, đẩy lên OPi và chạy lệnh sau ở mỗi bo mạch, thế là xong\n\n`bash docker-install.sh`\n\nSau khi cài xong docker, bạn có thể kiểm tra bằng cách chạy lệnh `docker version`. Nếu không báo lỗi “command not found” thì bạn đã cài xong.\n\n### **Cài Portainer hoặc Swarmpit**\n\n\n\nTiếp đến, bạn cài Portainer để quản lý docker. Portainer quả thực là một công cụ quản lý docker cực kì hiệu quả, giao diện trực quan, dễ quản lý và quan trọng là nó miễn phí. Công cụ này lại hoạt động trên chính một container được triển khai trên Docker. Bạn có thể tham khảo thêm thông tin của Portainer tại trang chủ của [Portainer](https://www.portainer.io/) hoặc [repository của Portainer trên Github](https://github.com/portainer/portainer).\n\n`docker pull portainer/portainer-ce\n\ndocker create --name=portainer \\\n\n--restart=always \\\n\n-v /home/docker/portainer/data:/data \\\n\n-v /var/run/docker.sock:/var/run/docker.sock \\\n\n-e TZ=Asia/Ho_Chi_Minh \\\n\n-p 9000:9000 \\\n\nportainer/portainer-ce`\n\nBạn chỉ cần cài Portainer lên thiết bị Opi bạn muốn làm manager chính, không cần cài lên các node member, về sau Portainer quản lý chúng hết. Sau khi cài xong Portainer, bạn sẽ vào được giao diện Portainer ở địa chỉ https://IP\\_OPI:9000\n\nBạn sẽ thấy chưa có swarm hay cluster gì cả. OK giờ bắt đầu cài đây. Trên thiết bị làm manager, bạn chạy câu lệnh sau\n\n`docker swarm init --advertise-addr 192.168.x.x`\n\n192.168.x.x là địa chỉ IP của manager\n\nSau đó tại các node member, bạn chạy câu lệnh sau để add member\n\n`docker swarm join --token [một chuỗi mã rất dài] 192.168.x.x:2377`\n\nTrong đó chuỗi mã dài kia bạn sẽ thấy sau khi đánh lệnh init ở node manager. Docker Swarm cũng cho phép bạn cài nhiều manager trong 1 cluster, nếu muốn cài node khác thành manager, dùng câu lệnh\n\n`docker swarm join-token manager` và làm theo hướng dẫn\n\nSau khi cài xong, trên node manager bạn vào phần Stack và deploy thêm portainer-agent đến các node worker trong cluster để quản lý. Chi tiết xem trong video\n\n**Cài Swarmpit**\n\n\n\nSwarmpit thì hơi khác chút, swarmpit là stack quản lý và theo dõi Swarm Docker native luôn, tức là nó sinh ra để dùng cho quản lý Docker Swarm chứ không như POrtainer là quản lý docker rồi thêm phần Swarm. Bạn có thể tham khảo tại trnag chủ của [Swarmpit](https://swarmpit.io/) hoặc [github của swarmpit](https://github.com/swarmpit/swarmpit)\n\nSwarmpit có câu lệnh cài tự động trên trang chủ luôn\n\n`docker run -it --rm \\\n\n--name swarmpit-installer \\\n\n--volume /var/run/docker.sock:/var/run/docker.sock \\\n\nswarmpit/install:1.9`\n\nnhưng cá nhân tôi thấy cài bằng swarmpit-installer này khó thành công hơn là cài bằng cách deploy 1 stack trên node manager. Bạn cần chọn đúng file docker-composer của ARM trên github sau, và deploy trên phần quản lý stack của Portainer.\n\n`https://github.com/swarmpit/swarmpit/blob/master/docker-compose.arm.yml`\n\nCác bạn xem thêm trong video hướng dẫn dưới đây.\n\nYouTube\n\n[Chia sẻ trên WhatsApp](whatsapp://send?text=C%C3%A0i%20docker%20swarm%20cho%20cluster%20Orange%20Pi%20-%20https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html \"Chia sẻ trên WhatsApp\")[Chia sẻ trên Facebook](https://www.facebook.com/sharer.php?u=https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html \"Chia sẻ trên Facebook\")[Chia sẻ trên Twitter](https://twitter.com/share?url=https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html \"Chia sẻ trên Twitter\")[Gửi email cho bạn bè](mailto:?subject=C%C3%A0i%20docker%20swarm%20cho%20cluster%20Orange%20Pi&body=Xem%20n%C3%A0y%3A%20https%3A%2F%2Forangepi.vn%2Fcai-docker-swarm-cho-cluster-orange-pi.html \"Gửi email cho bạn bè\")[Ghim trên Pinterest](https://pinterest.com/pin/create/button?url=https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html&media=https://orangepi.vn/wp-content/uploads/2021/11/orangepicluster-swarmpit-1024x399.png&description=C%C3%A0i%20docker%20swarm%20cho%20cluster%20Orange%20Pi \"Ghim trên Pinterest\")[Chia sẻ trên LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html&title=C%C3%A0i%20docker%20swarm%20cho%20cluster%20Orange%20Pi \"Chia sẻ trên LinkedIn\")\n\n\n\n##### superadmin\n\n### Để lại một bình luận [Hủy](https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html\\#respond)\n\nEmail của bạn sẽ không được hiển thị công khai.Các trường bắt buộc được đánh dấu \\*\n\nBình luận \\*\n\nTên \\*\n\nEmail \\*\n\nTrang web\n\nΔ\n\n- Tìm kiếm:\n\n- [Orange Pi Việt Nam](https://orangepi.vn/)\n - [Giới thiệu về máy tính nhúng](https://orangepi.vn/gioi-thieu-ve-may-tinh-nhung)\n - [Hướng dẫn đặt hàng](https://orangepi.vn/dat-hang-tai-orange-pi-viet-nam)\n - [Chính sách Bảo hành](https://orangepi.vn/chinh-sach-ban-hang-va-bao-hanh)\n - [Thư ủy quyền phân phối tại Việt Nam](https://orangepi.vn/thu-uy-quyen-phan-phoi-tai-viet-nam)\n - [Chính sách bảo mật](https://orangepi.vn/chinh-sach-bao-mat)\n - [Liên hệ](https://orangepi.vn/lien-he)\n- [Shop](https://orangepi.vn/shop)\n - [Bo Mạch Orange Pi](https://orangepi.vn/danh-muc-san-pham/bo-mach-orange-pi)\n - [Chip H3](https://orangepi.vn/tu-khoa-san-pham/chip-h3)\n - [Chip H6](https://orangepi.vn/tu-khoa-san-pham/chip-h6)\n - [RK3399](https://orangepi.vn/tu-khoa-san-pham/chip-rk3399)\n - [RK3588, RK3566](https://orangepi.vn/tu-khoa-san-pham/rk3588)\n - [Chip H616, H618](https://orangepi.vn/tu-khoa-san-pham/chip-h616)\n - [Allwinner A733](https://orangepi.vn/tu-khoa-san-pham/allwinner-a733)\n - [RAM 1GB](https://orangepi.vn/tu-khoa-san-pham/ram-1gb)\n - [RAM 2GB](https://orangepi.vn/tu-khoa-san-pham/ram-2gb)\n - [RAM 4GB](https://orangepi.vn/tu-khoa-san-pham/ram-4gb)\n - [RAM 6GB](https://orangepi.vn/tu-khoa-san-pham/ram-6gb)\n - [RAM 8GB](https://orangepi.vn/tu-khoa-san-pham/ram8gb)\n - [Phụ kiện Orange Pi](https://orangepi.vn/danh-muc-san-pham/phu-kien-orange-pi)\n - [Màn hình](https://orangepi.vn/tu-khoa-san-pham/man-hinh)\n - [Vỏ Mica lắp ghép](https://orangepi.vn/tu-khoa-san-pham/vo-mica)\n - [Vỏ thép kiêm tản nhiệt](https://orangepi.vn/tu-khoa-san-pham/vo-thep)\n - [Vỏ nhôm nhẹ tản nhiệt tốt](https://orangepi.vn/tu-khoa-san-pham/vo-nhom)\n - [Nguồn Orange Pi](https://orangepi.vn/tu-khoa-san-pham/nguon-orange-pi)\n - [Thẻ nhớ microSD](https://orangepi.vn/tu-khoa-san-pham/the-nho-microsd)\n - [Compute Module](https://orangepi.vn/tu-khoa-san-pham/compute-module)\n- [Blog](https://orangepi.vn/blog)\n - [Giới thiệu](https://orangepi.vn/category/gioi-thieu)\n - [Hướng dẫn](https://orangepi.vn/category/huong-dan)\n - [Trình diễn](https://orangepi.vn/category/trinh-dien)\n- [Đăng nhập](https://orangepi.vn/my-account \"Đăng nhập\")\n- [**Hotline: 0923449899**](tel:0923449899)\n\nBạn cần trợ giúp?\n\n[Messenger](https://m.me/orangepivietnam \"Messenger\") [Zalo Official Account](https://oa.zalo.me/1687181280533723118 \"Zalo Official Account\") [Telegram](https://t.me/maytinhnhung \"Telegram\") [Whatsapp](https://api.whatsapp.com/send?phone=84923449899 \"Whatsapp\")\n\n\n\nOrange Pi Việt NamNhà phân phối chính thức\n\nXin chào! 👋🏼👋🏼👋🏼 Tôi có thể giúp gì được bạn?\n\n- [Hotline](tel:0923449899 \"Hotline\")\n- [Facebook](https://www.facebook.com/orangepivietnam \"Facebook\")\n- [Zalo](https://oa.zalo.me/1687181280533723118 \"Zalo\")\n\n## Đăng nhập\n\nSign In - Google Accounts\n\nContinue with GoogleContinue with Google. Opens in new tab\n\nTên tài khoản hoặc địa chỉ email \\*Bắt buộc\n\nMật khẩu \\*Bắt buộc\n\nGhi nhớ mật khẩuĐăng nhập\n\n[Quên mật khẩu?](https://orangepi.vn/my-account/lost-password)",
|
||
"metadata": {
|
||
"language": "vi",
|
||
"ogTitle": "Cài docker swarm cho cluster Orange Pi - Orange Pi Viet Nam",
|
||
"og:description": "Đây là trang Cài docker swarm cho cluster Orange Picủa Orange Pi Viet Nam là nhà phân phối chính thức của Orange Pi tại Việt Nam, chuyên cung cấp máy tính nhúng cho dự án, nghiên cứu, hợp tác, phát triển sản phẩm.",
|
||
"title": "Cài docker swarm cho cluster Orange Pi - Orange Pi Viet Nam",
|
||
"modifiedTime": "2022-01-23T07:29:42+00:00",
|
||
"article:modified_time": "2022-01-23T07:29:42+00:00",
|
||
"author": "superadmin",
|
||
"twitter:creator": "@orangepi_me",
|
||
"ogImage": "https://orangepivn.b-cdn.net/wp-content/uploads/2021/11/orangepicluster-swarmpit.png",
|
||
"referrer": [
|
||
"no-referrer",
|
||
"origin"
|
||
],
|
||
"og:image:width": "1912",
|
||
"ogUrl": "https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html",
|
||
"viewport": [
|
||
"width=device-width, initial-scale=1",
|
||
"width=device-width, initial-scale=1",
|
||
"width=device-width, initial-scale=1.0",
|
||
"initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"
|
||
],
|
||
"og:site_name": "Orange Pi Viet Nam",
|
||
"og:image": "https://orangepivn.b-cdn.net/wp-content/uploads/2021/11/orangepicluster-swarmpit.png",
|
||
"twitter:data2": "8 phút",
|
||
"twitter:site": "@orangepi_me",
|
||
"msapplication-TileImage": "https://orangepivn.b-cdn.net/wp-content/uploads/2025/01/cropped-fb-logo-big-png-270x270.webp",
|
||
"twitter:label1": "Được viết bởi",
|
||
"twitter:data1": "superadmin",
|
||
"og:url": "https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html",
|
||
"og:image:type": "image/png",
|
||
"og:locale": "vi_VN",
|
||
"robots": "index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1",
|
||
"publishedTime": "2021-11-02T09:48:19+00:00",
|
||
"og:image:height": "745",
|
||
"ogDescription": "Đây là trang Cài docker swarm cho cluster Orange Picủa Orange Pi Viet Nam là nhà phân phối chính thức của Orange Pi tại Việt Nam, chuyên cung cấp máy tính nhúng cho dự án, nghiên cứu, hợp tác, phát triển sản phẩm.",
|
||
"article:publisher": "https://www.facebook.com/orangepivietnam/",
|
||
"og:type": "article",
|
||
"generator": [
|
||
"dominant-color-images 1.2.1",
|
||
"Site Kit by Google 1.180.0",
|
||
"webp-uploads 2.6.1"
|
||
],
|
||
"description": "Đây là trang Cài docker swarm cho cluster Orange Picủa Orange Pi Viet Nam là nhà phân phối chính thức của Orange Pi tại Việt Nam, chuyên cung cấp máy tính nhúng cho dự án, nghiên cứu, hợp tác, phát triển sản phẩm.",
|
||
"twitter:label2": "Ước tính thời gian đọc",
|
||
"google-site-verification": "aChCo9My21XgiT2Vte3H89FgebzV7TIv4Ol3OkXaIFU",
|
||
"ogLocale": "vi_VN",
|
||
"article:published_time": "2021-11-02T09:48:19+00:00",
|
||
"twitter:card": "summary_large_image",
|
||
"og:title": "Cài docker swarm cho cluster Orange Pi - Orange Pi Viet Nam",
|
||
"ogSiteName": "Orange Pi Viet Nam",
|
||
"favicon": "https://orangepivn.b-cdn.net/wp-content/uploads/2025/01/cropped-fb-logo-big-png-32x32.webp",
|
||
"scrapeId": "019eb208-91af-76ec-affa-449bf569d7de",
|
||
"sourceURL": "https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html",
|
||
"url": "https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html",
|
||
"statusCode": 200,
|
||
"contentType": "text/html; charset=UTF-8",
|
||
"timezone": "America/New_York",
|
||
"proxyUsed": "basic",
|
||
"cacheState": "miss",
|
||
"indexId": "04658a08-46f3-4e90-b834-b225d0661715",
|
||
"creditsUsed": 1,
|
||
"concurrencyLimited": false
|
||
}
|
||
},
|
||
"_http_status": 200,
|
||
"_source_url": "https://orangepi.vn/cai-docker-swarm-cho-cluster-orange-pi.html",
|
||
"_scraped_at": "2026-06-10T14:56:13.064105+00:00"
|
||
} |