Quản lý con rối toàn cầu và địa phương


8

Đã có ai từng quản lý một số hệ thống phân phối theo địa lý với Puppet chưa?

Tôi có một số triển khai gần như chính xác (ngoại trừ IP của máy chủ), quản lý mà tôi đang tìm cách chuyển đổi sang Puppet.

Tôi có 2 lựa chọn:

  • Có từng triển khai để lưu trữ PuppetMaster của riêng nó để cung cấp các cấu hình cục bộ, sau đó đồng bộ hóa bằng cách nào đó PuppetMasters (có thể với rối lại)

  • Lưu trữ PuppetMaster trên AWS EC2 để có tính sẵn sàng cao và cung cấp cấu hình cho tất cả các triển khai từ một điểm

Có ai đã thử tùy chọn thứ hai, và làm thế nào nó hoạt động? Tôi đặc biệt quan tâm đến hiệu suất sẵn sàng cao trong môi trường như vậy.

Cảm ơn.

Câu trả lời:


7

Không có gì sai với cách tiếp cận mà bạn đề xuất. Chúng tôi có ba nghệ sĩ múa rối, tất cả đều nằm tại một địa điểm và phục vụ các nút trên toàn thế giới - chúng tôi phân tách chúng dựa trên việc nút bù rối kết nối có trong dev / test / prod hay không. Những người khác thích chạy một con rối trên mỗi khu vực địa lý. Dân gian khác có rất nhiều nghệ sĩ múa rối, một số chỉ quản lý một nút!

Điều quan trọng là điều quan trọng là bạn lưu trữ và quản lý cây kê khai con rối của mình trong một hệ thống kiểm soát phiên bản - đối xử với nó giống như bất kỳ mã nào khác mà công ty của bạn duy trì. Tôi muốn giới thiệu Git, nhưng Subversion cũng sẽ thực hiện thủ thuật nếu bạn quen với điều đó hơn. Con rối chỉ đơn giản là một dịch vụ phục vụ quan điểm cụ thể của nó về VCS của bạn, chứ không phải là một cơ sở dữ liệu trung tâm.

Với nội dung của bạn trong một VCS, sau đó bạn có thể triển khai các bảng kê khai / mô-đun cần thiết cho các nghệ sĩ múa rối tương ứng và giữ chúng đồng bộ dễ dàng. Quy ước dường như dành cho dân gian có một repo / mô-đun git / svn cho mỗi mô-đun con rối, mặc dù không có gì ngăn bạn đặt toàn bộ cây dưới một repo / mô-đun.

Câu hỏi của tôi cho bạn sẽ là:

  • Có bao nhiêu nút trong mỗi triển khai? Nếu bạn đang nói về 50+, thì chắc chắn sẽ có một nghệ sĩ múa rối địa phương chắc chắn.
  • Các triển khai có bất kỳ bên thứ 3 nào sử dụng chúng ngoài công ty của bạn không? Người điều khiển rối cần phải có độ bảo mật rất cao - coi đó là chìa khóa cho tất cả các hệ thống của bạn và sẽ chứa thông tin rất nhạy cảm.
  • Tương tự, đối với các PM dựa trên triển khai, bạn sẽ lưu trữ chúng trên máy chủ / VM của riêng chúng hay một máy hiện có cần được giao nhiệm vụ? Tôi đặc biệt khuyên rằng máy chủ múa rối chỉ có vai trò đó, để bảo mật.
  • Làm thế nào để bạn mong đợi EC2 cung cấp cho bạn khả năng sẵn sàng cao hơn? Theo hiểu biết của tôi, các phiên bản EC2 không phải là HA, mặc dù có thể chạy 2+ con rối đằng sau dịch vụ cân bằng tải AWS.
  • Là các triển khai rất khác nhau? Bạn có muốn thay đổi chúng vào những thời điểm khác nhau trong ngày không? Nhiều nghệ sĩ múa rối cho bạn mức độ kiểm soát tốt hơn.

1
Chào. Chúng tôi nói về tối đa 10 - 20 nút trong mỗi lần triển khai, việc triển khai trên toàn thế giới. Không có bên thứ 3 được phép trong các triển khai. Tôi thực sự quan tâm đến việc tập trung tất cả dữ liệu liên quan đến rối trên một máy chuyên dụng, vì vậy PM sẽ được lưu trữ trên thể hiện EC2. Tôi có thể sẽ sử dụng Heartbeat + DRBD cho HA. Các triển khai về cơ bản là giống nhau, như chỉ nói IP của máy chủ là khác nhau. Cảm ơn một lần nữa.
SyRenity

Nghe có vẻ rất giống một cụm múa rối trong EC2 có thể sẽ thực hiện thủ thuật cho bạn sau đó. Chỉ cần đảm bảo bạn sử dụng Git hoặc Subversion để lưu trữ các bảng kê khai của bạn một cách an toàn :)
Mike Pountney

2

Bạn cũng có thể sử dụng hệ thống không có Puppetmaster bằng cách sử dụng một VCS phân tán, chẳng hạn như Git, sử dụng lược đồ được mô tả ở đây:

http://bitfieldconsulting.com/scaling-puppet-with-distribution-version-control


Nếu bạn không có người điều khiển rối thì bạn sẽ mất hỗ trợ lưu trữ, đó là một trong những tính năng mạnh mẽ nhất của Puppet. Hãy suy nghĩ thu thập thông tin máy chéo tích hợp vào các bản cập nhật; ví dụ: bạn có thể tự động thu thập thông tin về các dịch vụ đang chạy trên tất cả các máy chủ (được quản lý bằng con rối) để tạo quy tắc tường lửa, quy tắc định tuyến, cấu hình giám sát, sao lưu dựa trên kéo, v.v.
David Gardner

Vâng, đó là một điểm công bằng. Chắc chắn có những lợi thế để chạy một hệ thống dựa trên Puppetmaster đầy đủ, và tôi thường làm như vậy. Tôi có thể thấy các tình huống trong đó một hệ thống dựa trên VCS rất nhẹ như thế này sẽ hữu ích.
John Arundel

Nếu bạn đang chọn cài đặt không thành thạo, bạn có thể thực hiện điều đó và thiết lập máy chủ rối cho phương tiện nhận hàng tồn kho từ các nhân tố - sau đó không cần phải có sẵn rất cao.
timurb

0

Chúng tôi cũng có một số bậc thầy bù nhìn, các môi trường khác nhau mà chúng tôi đồng bộ hóa. Để làm điều này, chúng tôi quản lý tất cả các mô đun con rối và các biểu hiện của chúng trong lật đổ và sau đó triển khai các mô đun con rối lên các con rối bằng cách sử dụng các biểu hiện con rối thông thường và một mô đun gọi là vcsdeploy để kiểm tra:

http://www.prrealclouds.com/content/guide/pclouds-vcsdeploy-deploy- ware

Khi chúng tôi muốn đồng bộ hóa, chúng tôi gắn thẻ một phiên bản và sau đó cập nhật các nút.pp cho chủ rối.

Trân trọng

Dave

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.