Chào mừng trở lại với chuỗi bài viết về Docker!
Sau khi tìm hiểu về các khái niệm cơ bản của Docker Swarm và mạng lưới nâng cao, đã đến lúc đi sâu hơn vào các thiết lập Swarm sẵn sàng cho sản xuất. Trong tập này, chúng ta sẽ khám phá các dịch vụ Swarm nâng cao, quản lý bí mật và xử lý cấu hình.
🔹 Dịch Vụ Nâng Cao trong Swarm
Docker Swarm cho phép bạn quản lý các container một cách khai báo. Bạn có thể định nghĩa:
- Số lượng bản sao để mở rộng quy mô
- Ràng buộc vị trí (ví dụ: các nút cụ thể)
- Chiến lược cập nhật cho việc cập nhật cuộn
Ví dụ: Dịch Vụ với Ràng Buộc
bash
docker service create --name webapp --replicas 3 --constraint 'node.role==worker' nginx
Lệnh này đảm bảo rằng dịch vụ chỉ chạy trên các nút worker.
🔹 Cập Nhật Cuộn
Cập nhật dịch vụ mà không bị gián đoạn.
bash
docker service update --image nginx:latest webapp
Sử dụng các cờ như --update-parallelism và --update-delay để kiểm soát quá trình triển khai.
🔹 Docker Secrets
Bí mật được mã hóa và lưu trữ an toàn trong Swarm.
Ví dụ: Tạo và Sử Dụng một Bí Mật cho Mật Khẩu Cơ Sở Dữ Liệu
bash
docker secret create db_password ./db_password.txt
Gán bí mật cho một dịch vụ:
bash
docker service create --name db --secret db_password postgres:latest
Bên trong container, bí mật có thể được truy cập tại /run/secrets/db_password.
🔹 Docker Configs
Lưu trữ các tệp cấu hình một cách an toàn trong Swarm.
Ví dụ: Cấu Hình Nginx
bash
docker config create nginx_conf ./nginx.conf
Gán cấu hình cho một dịch vụ:
bash
docker service create --name web --config source=nginx_conf,target=/etc/nginx/nginx.conf nginx
🔹 Thực Tiễn Tốt Nhất
- Sử dụng bí mật cho dữ liệu nhạy cảm (mật khẩu, API keys).
- Sử dụng cấu hình cho các tệp cấu hình ứng dụng.
- Mở rộng quy mô dịch vụ một cách cẩn thận dựa trên năng lực của các nút.
- Giám sát sức khỏe của Swarm và các cập nhật dịch vụ.
🔹 Thách Thức Thực Hành
- Tạo một bí mật và gán nó cho dịch vụ cơ sở dữ liệu.
- Tạo một tệp cấu hình và gán nó cho dịch vụ web.
- Triển khai dịch vụ với các ràng buộc vị trí.
- Thực hiện cập nhật cuộn lên hình ảnh mới.
✅ Tập tiếp theo: Tập 24 — Tích Hợp Docker Compose + Swarm: Triển Khai Đa Máy Chủ — kết hợp sự đơn giản của Compose với việc điều phối Swarm cho các triển khai mở rộng.