2016-11-18 29 views
7

Tôi đang thử nghiệm một chút với ACS bằng cách sử dụng trình phối hợp DC/OS và trong khi xoay vòng một cụm trong một khu vực có vẻ đơn giản, tôi không hoàn toàn chắc chắn thực hành sẽ là để triển khai trên nhiều vùng.Cụm đa dịch vụ Vùng chứa Azure của khu vực

Bản thân Azure dường như không hỗ trợ triển khai cho nhiều khu vực ngay bây giờ. Với giả định đó, tôi đoán tùy chọn duy nhất khác của tôi là tạo nhiều cụm giống hệt nhau trong tất cả các vùng mà tôi muốn có sẵn và sau đó sử dụng Azure Traffic Manager để định tuyến lưu lượng truy cập đến cụm gần nhất có sẵn.

Trong khi giải pháp này hoạt động, nó cũng gây ra một vài vấn đề tôi không chắc chắn 100% về cách tôi nên làm việc xung quanh.

  1. Đường ống triển khai của chúng tôi phải đảm bảo triển khai cho tất cả các vùng khi triển khai phiên bản dịch vụ mới. Nếu chúng tôi có khu vực Đông Mỹ và Bắc Âu, trong quá trình triển khai từ công cụ CI của chúng tôi, tôi phải kết nối với API Marathon ở cả hai khu vực để kích hoạt các triển khai mới. Nếu triển khai không thành công trong một khu vực, và thành công trong khu vực khác, tôi đột nhiên có sự chênh lệch giữa hai khu vực.
  2. Nếu tôi có dịch vụ sử dụng khối lượng cố định cục bộ được triển khai, giả sử PostgreSQL hoặc ElasticSearch, cần có các phiên bản ở cả hai khu vực kể từ khi khám phá dịch vụ sẽ chỉ tìm thấy các dịch vụ cục bộ cho khu vực. Điều đó dẫn đến vấn đề nhân rộng giữa các vùng để giữ cho tất cả các tiểu bang ở tất cả các vùng; điều này dường như yêu cầu một số/rất nhiều cấu hình thủ công để có được để làm việc.

Có ai từng sử dụng thiết lập như thế này bằng dịch vụ Azure Container Service (hoặc Amazon Container Service) không?

Trả lời

0

Bạn đang ACS chính xác hiện không hỗ trợ triển khai nhiều vùng.

Vấn đề đầu tiên của bạn là dành riêng cho Marathon trong DC/OS, tôi sẽ ping một số nhân viên kỹ thuật ở đó để xem họ có bất kỳ đầu vào nào về thực tiễn tốt nhất hay không.

Điểm thứ hai của bạn là thứ chúng tôi (tôi là ACS PM) đang xem xét. Có một số giải pháp bạn có thể sử dụng trong một số trường hợp nhất định (ví dụ: ArangoDB nằm trong vũ trụ DC/OS và sẽ cung cấp bản sao). Nhóm DC/OS cũng có thể có gì đó để nói ở đây. Trong ACS, chúng tôi đang đánh giá các phương pháp tốt nhất để cung cấp các giải pháp cho trường hợp sử dụng này nhưng tôi e rằng tôi không thể đưa ra bất kỳ dấu hiệu nào về tiến trình.

Giải pháp thay thế là có cơ sở dữ liệu của bạn trong phiếu mua hàng SaaS. Điều này lấy đi tất cả sự phức tạp của việc quản lý dự phòng và nhân rộng.

1

Bạn có nhiều tùy chọn để xoay vòng giữa các khu vực. Tôi sẽ sử dụng một cài đặt tùy chỉnh cùng với terraform cho mỗi người trong số họ. Đây là một điểm khởi đầu tuyệt vời: https://github.com/bernadinm/terraform-dcos

Các đại lý phân phối trên các vùng khác nhau sẽ không có vấn đề gì, đảm bảo rằng dịch vụ của bạn sẽ tiếp tục chạy mặc dù không thành công.

Phân phối chính (cho phép bạn kiểm soát các dịch vụ trong thời gian thất bại) hơi nhiễu hơn vì nó liên quan đến việc phân phối số đại biểu sở thú trên các liên kết độ trễ cao, vì vậy bạn nên cẩn thận trong việc chọn "khoảng cách" giữa các vùng.

Hãy xem documentation để biết thêm chi tiết.

Các vấn đề liên quan