Con rối - Môi trường
Trong mô hình phân phối và phát triển phần mềm, có nhiều loại môi trường thử nghiệm khác nhau được sử dụng để thử nghiệm một sản phẩm hoặc một dịch vụ cụ thể. Theo thông lệ tiêu chuẩn, chủ yếu có ba loại môi trường là phát triển, thử nghiệm và sản xuất, trong đó mỗi loại môi trường đều có cấu hình thiết lập riêng.
Puppet hỗ trợ quản lý nhiều môi trường cùng dòng với Ruby on Rails. Yếu tố chính đằng sau việc tạo ra các môi trường này là cung cấp một cơ chế dễ dàng để quản lý ở các cấp độ khác nhau của thỏa thuận SLA. Trong một số trường hợp, máy luôn cần hoạt động mà không cần dung nạp và sử dụng phần mềm cũ. Trong đó các môi trường khác được cập nhật và được sử dụng cho mục đích thử nghiệm. Chúng được sử dụng để nâng cấp cho các máy quan trọng hơn.
Puppet khuyên bạn nên gắn bó với cấu hình môi trường sản xuất, thử nghiệm và phát triển tiêu chuẩn, tuy nhiên, ở đây nó thậm chí còn cung cấp cho người dùng đòn bẩy để tạo môi trường tùy chỉnh theo yêu cầu.
Mục tiêu Môi trường
Mục tiêu chính của việc thiết lập được phân chia theo môi trường là Con rối có thể có các nguồn khác nhau cho các mô-đun và tệp kê khai. Sau đó, người ta có thể kiểm tra những thay đổi trong cấu hình trong môi trường thử nghiệm mà không ảnh hưởng đến các nút sản xuất. Các môi trường này cũng có thể được sử dụng để triển khai cơ sở hạ tầng trên các nguồn mạng khác nhau.
Sử dụng Môi trường trên Puppet Master
Mục đích của môi trường là kiểm tra tệp kê khai, mô-đun, mẫu nào của tệp cần được gửi đến máy khách. Do đó, Puppet phải được định cấu hình để cung cấp nguồn dành riêng cho môi trường cho những thông tin này.
Môi trường con rối được thực hiện đơn giản bằng cách thêm các phần trước môi trường vào con rối.conf của máy chủ và chọn nguồn cấu hình khác nhau cho mỗi môi trường. Các phần tiền môi trường này sau đó được sử dụng ưu tiên cho phần chính.
[main]
manifest = /usr/testing/puppet/site.pp
modulepath = /usr/testing/puppet/modules
[development]
manifest = /usr/testing/puppet/development/site.pp
modulepath = /usr/testing/puppet/development/modules
Trong đoạn mã trên, bất kỳ ứng dụng khách nào trong môi trường phát triển sẽ sử dụng tệp kê khai site.pp nằm trong thư mục /usr/share/puppet/development và Puppet sẽ tìm kiếm bất kỳ mô-đun nào trong /usr/share/puppet/development/modules directory.
Chạy Puppet có hoặc không có bất kỳ môi trường nào sẽ mặc định là tệp site.pp và thư mục được chỉ định trong các giá trị tệp kê khai và đường dẫn mô-đun trong phần cấu hình chính.
Chỉ có một số cấu hình thực sự có ý nghĩa khi được cấu hình trước môi trường và tất cả các thông số đó đều xoay quanh việc chỉ định tệp nào sẽ sử dụng để biên dịch cấu hình của máy khách.
Sau đây là các thông số.
Modulepath- Trong Puppet, là chế độ tiêu chuẩn cơ bản, tốt nhất nên có một thư mục mô-đun tiêu chuẩn mà tất cả môi trường chia sẻ và sau đó là một thư mục tiền môi trường nơi mô-đun tùy chỉnh có thể được lưu trữ. Đường dẫn mô-đun là vị trí mà Puppet tìm kiếm tất cả các tệp cấu hình liên quan đến môi trường.
Templatedir- Thư mục mẫu là nơi lưu tất cả các phiên bản của các mẫu liên quan. Mô-đun nên được ưu tiên cho các cài đặt này, tuy nhiên nó cho phép một mô-đun có các phiên bản khác nhau của một mẫu nhất định trong mỗi môi trường.
Manifest - Điều này xác định cấu hình nào sẽ sử dụng làm tập lệnh entrypoint.
Với nhiều mô-đun, Con rối giúp nhận được mô-đun cho các cấu hình. Người ta có thể sử dụng nhiều môi trường trong Puppet, điều này hoạt động tốt hơn nhiều nếu một người phụ thuộc phần lớn vào các mô-đun. Việc di chuyển các thay đổi sang môi trường dễ dàng hơn bằng cách đóng gói các thay đổi trong mô-đun. Máy chủ tệp sử dụng đường dẫn mô-đun môi trường cụ thể; nếu một người phân phát tệp từ các mô-đun, thay vì các thư mục được gắn kết riêng biệt, môi trường này sẽ có thể nhận các tệp dành riêng cho môi trường và cuối cùng môi trường hiện tại cũng sẽ có sẵn trong biến $ môi trường trong tệp kê khai.
Thiết lập Môi trường Khách hàng
Tất cả các cấu hình liên quan đến cấu hình môi trường được thực hiện trên tệp rối.conf. Để chỉ định môi trường nào mà ứng dụng Puppet nên sử dụng, người ta có thể chỉ định một giá trị cho biến cấu hình môi trường trong tệp rối.conf của ứng dụng khách.
[puppetd]
environment = Testing
Định nghĩa trên trong tệp cấu hình xác định môi trường tệp cấu hình trong trường hợp của chúng tôi là thử nghiệm.
Người ta cũng có thể chỉ định điều này trên dòng lệnh bằng cách sử dụng:
#puppetd -–environment = testing
Ngoài ra, Puppet cũng hỗ trợ việc sử dụng các giá trị động trong cấu hình môi trường. Thay vì xác định các giá trị tĩnh, nhà phát triển có đòn bẩy để tạo các dữ kiện tùy chỉnh nhằm tạo ra môi trường máy khách dựa trên một số thuộc tính máy khách khác hoặc nguồn dữ liệu bên ngoài. Cách ưa thích để làm điều đó là sử dụng một công cụ tùy chỉnh. Các công cụ này có khả năng chỉ định môi trường của nút và nói chung là tốt hơn nhiều trong việc chỉ định thông tin về nút.
Đường dẫn tìm kiếm con rối
Puppet sử dụng một đường dẫn tìm kiếm đơn giản để xác định cấu hình nào cần được áp dụng trên máy đích. Tương tự như vậy, đường dẫn tìm kiếm trong Puppet rất hữu ích khi nó đang cố gắng chọn các giá trị thích hợp cần được áp dụng. Có nhiều vị trí như được liệt kê bên dưới nơi Con rối tìm kiếm các giá trị cần được áp dụng.
- Giá trị được chỉ định trong dòng lệnh
- Giá trị được chỉ định trong phần môi trường cụ thể
- Giá trị được chỉ định trong một phần cụ thể có thể thực thi
- Các giá trị được chỉ định trong phần chính