Câu trả lời ngắn: Hiện không có cách nào dễ dàng để thực hiện việc này với Docker Swarm ngay bây giờ.
Docker Swarm (hoặc chế độ Swarm) không hỗ trợ tự động chia tỷ lệ máy ngoài hộp. Bạn sẽ cần phải sử dụng một giải pháp khác cho điều đó như docker-machine
để tạo máy (có đế cắm) trên cơ sở hạ tầng của bạn và liên kết chúng với cụm Swarm hiện có (với docker swarm join
).
này sẽ liên quan đến rất nhiều kịch bản nhưng ý tưởng là để giám sát các cụm cho CPU/Memory/sử dụng Mạng (với top
hoặc monit
) và một khi nó vượt xa ngưỡng (nói 70% tổng nguồn cluster) , bạn kích hoạt một tập lệnh gọi docker-machine
để mở rộng cụm. Sử dụng cùng ý tưởng bạn cũng có thể giảm tỷ lệ bằng cách tháo và xóa nút (tốt nhất là Agent
nút) từ cụm đám hiện có khi bạn ở dưới ngưỡng thấp hơn.
Bạn cần đảm bảo rằng bạn đang theo dõi việc sử dụng tài nguyên bền vững nếu bạn muốn sử dụng tiêu chí này hoặc bạn sẽ có cơ sở hạ tầng và phá hủy các nút từ những thay đổi thường xuyên và đột ngột trong việc sử dụng tài nguyên.
Bạn có thể xác định giới hạn dưới và giới hạn trên cho các máy trong cụm để giữ cho mọi thứ được kiểm soát.
Lưu ý rằng Swarm yêu cầu ít nhất 3 Manager
nút (được đề nghị 5) để duy trì số đại biểu cho thuật toán Đồng thuận phân tán. Vì vậy, giới hạn thấp nhất được đề xuất tối thiểu là 5 nút (bạn có thể mở rộng với Agent
các nút do tài nguyên đang được các dịch vụ sử dụng gia tăng).
Để một mức độ nào, bạn cũng có thể có một cái nhìn tại Docker InfraKit hoặc Terraform cho tự động hóa Cơ sở hạ tầng và giám sát sức khỏe.
Cập nhật: Hiện nay, một cross-platform autoscaler hứa hẹn hỗ trợ Swarm Chế độ nhiệm vụ tự động mở rộng quy mô: Orbiter. Mặc dù vẫn không có gì out-of-the-box chưa cho dịch vụ/máy autoscaling.
Theo yêu cầu đề xuất/tính năng trong [reparm chính thức] (https://github.com/docker/swarmkit/issues/1663), [dockercloud -haproxy] (https://github.com/docker/dockercloud-haproxy#running-with-docker-swarmmode-swarm-mode) công cụ trông giống như nó hoạt động với Swarm ra khỏi hộp, nhưng tôi đã không xác nhận. – smeeb
@smeeb hiện công cụ đó có bao gồm tự động tính toán không? – 030
dockercloud-haproxy phân phối các yêu cầu cùng với các vùng chứa hiện tại, nó không hỗ trợ tự động mở rộng quy mô. – raarts