1. Docker Swarm là gì?
Docker Swarm là một orchestration tool tích hợp sẵn trong Docker từ phiên bản 1.12, giúp:
- Quản lý nhiều Docker host thành một cluster.
- Dễ dàng scale container, rolling update, và rollback.
- Triển khai ứng dụng theo dạng microservices dễ dàng.
2. Kiến trúc Docker Swarm
| Thành phần | Mô tả |
|---|
| Swarm Cluster | Gồm nhiều node Docker được kết nối. Node đầu tiên là Manager Node. |
| Orchestration Engine | Điều phối, quản lý ứng dụng chạy trên cluster. |
- Node Types:
- Manager Node:
- Quản lý cluster, phân phối tasks.
- Lưu state và config cluster bằng etcd (chạy in-memory).
- Worker Node:
- Nhận tasks từ Manager và thực thi.
3. Tính năng bảo mật
- Giao tiếp giữa các nodes được mã hóa TLS.
- Sử dụng secure join tokens khi thêm node mới.
- Hỗ trợ automatic key rotation để đổi key định kỳ.
4. Khái niệm quan trọng
| Thuật ngữ | Ý nghĩa |
|---|
| Service | Đơn vị triển khai trong Swarm, đại diện cho một ứng dụng hoặc microservice. |
| Task / Task Replica | Instance cụ thể của service - chính là container được Swarm tạo ra. |
| Rolling Updates | Cập nhật dần các container mà không dừng toàn bộ service. |
| Rollback | Quay về version trước nếu cập nhật gặp lỗi. |
5. Môi trường triển khai Swarm
- Server vật lý
- Máy ảo
- Cloud instances (AWS, GCP, Azure)
- Raspberry Pi hoặc thiết bị ARM khác
6. Giá trị của Docker Swarm
- Triển khai ứng dụng theo cụm (cluster) dễ dàng.
- Cấu hình đơn giản hơn Kubernetes.
- Tích hợp sâu với Docker CLI.
7. Bước tiếp theo
- Khởi tạo Swarm cluster.
- Thêm node Manager, Worker.
- Triển khai services, scale và thực hiện rolling update.