2015-09-23 17 views
10

Tôi mới dùng cả Docker và Consul, và đang cố gắng cảm nhận cách các ứng dụng được container hóa có thể sử dụng Consul cho cả đăng ký dịch vụ và quản lý cấu hình cặp KV ("cấu hình").Docker, Registrator và Consul bằng ví dụ

My hiểu là tôi có thể:

  • Tạo một hình ảnh mà chạy máy chủ Lãnh sự, vì vậy cái gì đó như this; sau đó
  • Xoay lên ba trong số các vùng chứa Docker-Consul này (do đó tạo thành cụm/nhóm túc số) trên myvm01.example.com (máy ảo Ubuntu); sau đó
  • Tái cấu trúc ứng dụng của tôi để sử dụng Lãnh sự và tạo hình ảnh Docker chạy ứng dụng của tôi và đại lý Consul, với tác nhân được định cấu hình để tham gia nhóm đại biểu 3 nút khi khởi động. Khi khởi động, ứng dụng của tôi sử dụng tác nhân Consul địa phương để kéo tất cả các cấu hình của nó, được lưu trữ dưới dạng cặp KV. Nó cũng có các dịch vụ được đăng ký/lành mạnh và sử dụng công cụ cân bằng tải cục bộ để cân bằng các dịch vụ mà nó tích hợp.
  • Chạy vùng chứa của ứng dụng trên, ví dụ: myvm02.example.com (một máy ảo Ubuntu khác).

Vì vậy, để bắt đầu, nếu bất kỳ điều này có vẻ như tôi hiểu nhầm việc sử dụng bình thường/thích hợp của Docker và Consul (sans Registrator), hãy bắt đầu bằng cách sửa tôi!

Giả sử tôi ít nhiều chính xác, gần đây tôi đã tình cờ gặp Registrator và giờ đây thậm chí còn bị lẫn lộn hơn. Người đăng ký có vẻ là người trung gian giữa các vùng chứa ứng dụng của bạn và các máy chủ Consul (hoặc bất kỳ đăng ký nào bạn sử dụng) của bạn.

Sau khi đọc hướng dẫn Quickstart của họ, nó âm thanh như những gì bạn đang phải làm là:

  • Triển khai cụm Lãnh/container đại biểu của tôi để myvm01.example.com như trước đây
  • Thay vì "Dockerizing" của tôi ứng dụng để sử dụng Lãnh sự trực tiếp, tôi chỉ cần tích hợp nó với Nhà đăng ký
  • Sau đó, tôi triển khai vùng chứa Người đăng ký ở đâu đó và định cấu hình để tích hợp với Consul
  • Sau đó, tôi triển khai ứng dụng của mình ntainers. Họ tích hợp với Registrator, và Registrator lần lượt tích hợp với Consul.

mối quan tâm của tôi:

  • là sự hiểu biết của tôi ở đây đúng hay cách tắt cơ sở? Nếu vậy, làm thế nào?
  • Điều gì thực sự thu được bằng cách thêm Người đăng ký. Nó không có vẻ (với mắt chưa được đào tạo ít nhất) giống như bất cứ điều gì nhiều hơn một lớp indirection giữa các ứng dụng và đăng ký dịch vụ.
  • Tôi vẫn có thể tận dụng dịch vụ cấu hình KV của Consul thông qua Người đăng ký?

Trả lời

9

Sự hiểu biết của tôi ở đây có đúng hay không? Nếu vậy, làm thế nào?

Dường như với tôi, đó không phải là giải pháp tốt, để có tất cả các thành viên nhóm/đại biểu chạy trong cùng một máy ảo.Nó không phải là xấu như vậy nếu bạn sử dụng nó để phát triển hoặc tetsing hoặc một cái gì đó, nơi bạn không quan tâm nhiều về độ tin cậy, nhưng không phải cho sản xuất.

Sau khi VM của bạn chết, bạn sẽ mất tất cả các ưu điểm bạn có bằng cách tạo cụm. Và thậm chí nhiều hơn, bạn có thể mất tất cả dữ liệu bạn có trong kho K/V, bởi vì bạn đang chạy các máy chủ Consul bên trong một vùng chứa docker, nên được bổ sung cấu hình để chia sẻ cấu hình giữa các lần chạy.

Còn phần còn lại, tôi thấy nó giống như bạn.

Điều gì thực sự đạt được khi bổ sung Người đăng ký.

Theo quan điểm của tôi, điều chính là bạn không phải cung cấp bản sao Đại lý Lãnh sự trong mỗi vùng chứa bạn chạy. Và vùng chứa với hình ảnh bạn chạy chỉ chịu trách nhiệm cho các chức năng chính của chúng, không phải để đăng ký ở đâu đó. Bạn có thể chỉ cần kéo một hình ảnh và chỉ cần chạy một thùng chứa với nó, để làm cho nó có sẵn dịch vụ, mà không cần làm thêm.

Tôi vẫn có thể tận dụng dịch vụ cấu hình KV của Consul thông qua Người đăng ký không?

Thật không may, không. Ít nhất, chúng tôi đã không tìm thấy một giải pháp để sử dụng nó theo cách này, khi chúng tôi đang tìm kiếm một cái gì đó để làm cho dịch vụ phát hiện và quản lý cấu hình. Chúng tôi đã đi đến kết luận, rằng Registrator không phải là một proxy cho K/V lưu trữ và được sử dụng chỉ để tự động phát hiện dịch vụ. Vì vậy, bạn phải sử dụng một số logic khác để truy cập cửa hàng K/V của lãnh sự.

Cập nhật: hơn nữa, đây là 2 bài viết: "Automatic Docker Service Announcement with Registrator""Automatic container registration with Consul and Registrator", tôi thấy hữu ích khi hiểu vai trò Người đăng ký trong quá trình khám phá dịch vụ.