Con rối - Môi trường Conf

Trong Puppet, tất cả các môi trường đều có environment.conftập tin. Tệp này có thể ghi đè một số cài đặt mặc định bất cứ khi nào cái chính đang phục vụ bất kỳ nút nào hoặc tất cả các nút được gán cho môi trường cụ thể đó.

Vị trí

Trong Puppet, đối với tất cả các môi trường đã được xác định, tệp environment.conf được đặt ở cấp cao nhất của môi trường chính của nó, bên cạnh tệp kê khai và các giám đốc mô-đun. Xem xét một ví dụ, nếu môi trường của bạn nằm trong các thư mục mặc định(Vipin/testing/environment), thì tệp cấu hình của môi trường thử nghiệm được đặt tại Vipin/testing/environments/test/environment.conf.

Thí dụ

# /etc/testingdir/code/environments/test/environment.conf  
# Puppet Enterprise requires $basemodulepath; see note below under modulepath". 
modulepath = site:dist:modules:$basemodulepath  
# Use our custom script to get a git commit for the current state of the code: 
config_version = get_environment_commit.sh

định dạng

Tất cả các tệp cấu hình trong Puppet đều sử dụng cùng một định dạng giống INI theo cùng một cách. environment.conftệp theo cùng một định dạng giống INI như những người khác làm như tệp rối.conf. Sự khác biệt duy nhất giữa môi trường.conf vàpuppet.conflà tệp môi trường.conf không thể chứa phần [chính]. Tất cả cài đặt trong tệp môi trường.conf phải nằm ngoài bất kỳ phần cấu hình nào.

Đường dẫn tương đối trong giá trị

Hầu hết các cài đặt được phép chấp nhận đường dẫn tệp hoặc danh sách đường dẫn làm giá trị. Nếu bất kỳ đường dẫn nào là đường dẫn có liên quan, chúng bắt đầu mà không có dấu gạch chéo ở đầu hoặc ký tự ổ đĩa - chúng hầu như sẽ được giải quyết liên quan đến thư mục chính của môi trường đó.

Nội suy giá trị

Tệp cài đặt Environment.conf có thể sử dụng các giá trị của các cài đặt khác làm biến. Có nhiều biến hữu ích có thể được nội suy vào tệp môi trường.conf. Dưới đây là danh sách một số biến quan trọng -

  • $basemodulepath- Hữu ích để bao gồm các thư mục trong cài đặt đường dẫn mô-đun. Người dùng doanh nghiệp con rối thường nên bao gồm giá trị này làmodulepath vì công cụ Con rối sử dụng mô-đun trong basemodulepath.

  • $environment- Hữu ích như một đối số dòng lệnh cho tập lệnh config_version của bạn. Bạn chỉ có thể nội suy biến này trong cài đặt config_version.

  • $codedir - Hữu ích cho việc định vị các tập tin.

Cài đặt được phép

Theo mặc định, tệp Puppet environment.conf chỉ được phép ghi đè bốn cài đặt trong cấu hình như được liệt kê.

  • Modulepath
  • Manifest
  • Config_version
  • Environment_timeout

Đường dẫn mô-đun

Đây là một trong những cài đặt quan trọng trong tệp môi trường.conf. Tất cả các giám đốc được xác định trong modulepath được tải theo mặc định bởi Puppet. Đây là vị trí đường dẫn từ nơi Puppet tải các mô-đun của nó. Người ta cần thiết lập điều này một cách rõ ràng. Nếu cài đặt trên không được đặt, đường dẫn mô-đun mặc định của bất kỳ môi trường nào trong Con rối sẽ là:

<MODULES DIRECTORY FROM ENVIRONMENT>:$basemodulepath

Rõ ràng

Điều này được sử dụng để xác định tệp kê khai chính, mà Puppet master sẽ sử dụng trong khi khởi động và biên dịch danh mục từ tệp kê khai đã xác định sẽ được sử dụng để định cấu hình môi trường. Trong điều này, chúng ta có thể xác định một tệp, danh sách tệp hoặc thậm chí một thư mục bao gồm nhiều tệp kê khai cần được đánh giá và biên dịch theo một trình tự chữ cái xác định.

Người ta cần xác định rõ ràng cài đặt này trong tệp môi trường.conf. Nếu không, thì Puppet sẽ sử dụng thư mục tệp kê khai mặc định của môi trường làm tệp kê khai chính của nó.

Config_version

Config_version có thể được định nghĩa là một phiên bản xác định được sử dụng để xác định danh mục và sự kiện. Khi Puppet biên dịch bất kỳ tệp kê khai nào theo mặc định, nó sẽ thêm một phiên bản cấu hình vào các danh mục được tạo cũng như vào các báo cáo được tạo khi Puppet master áp dụng bất kỳ danh mục đã xác định nào trên các nút Puppet. Puppet chạy một tập lệnh để thực hiện tất cả các bước trên và sử dụng tất cả đầu ra được tạo dưới dạng Config_version.

Môi trường hết giờ

Nó được sử dụng để lấy thông tin chi tiết về lượng thời gian mà Puppet nên sử dụng để tải dữ liệu cho một môi trường nhất định. Nếu giá trị được xác định trong tệp rối.conf, thì các giá trị này sẽ ghi đè giá trị thời gian chờ mặc định.

Tệp môi trường.conf mẫu

[master] 
   manifest =  $confdir/environments/$environment/manifests/site.pp 
   modulepath =  $confdir/environments/$environment/modules

Trong đoạn mã trên $confdir là đường dẫn của thư mục, nơi chứa các tệp cấu hình môi trường. $environment là tên của môi trường mà cấu hình đang được thực hiện.

Tệp cấu hình môi trường sẵn sàng sản xuất

# The environment configuration file  
# The main manifest directory or file where Puppet starts to evaluate code  
# This is the default value. Works with just a site.pp file or any other  
manifest = manifests/  
# The directories added to the module path, looked in first match first used order:  
# modules - Directory for external modules, populated by r10k based on Puppetfile  
# $basemodulepath - As from: puppet config print basemodulepath  
modulepath = site:modules:$basemodulepath  
# Set the cache timeout for this environment.  
# This overrides what is set directly in puppet.conf for the whole Puppet server  
# environment_timeout = unlimited  
# With caching you need to flush the cache whenever new Puppet code is deployed  
# This can also be done manually running: bin/puppet_flush_environment_cache.sh  
# To disable catalog caching:  
environment_timeout = 0  
# Here we pass to one in the control repo the Puppet environment (and git branch)  
# to get title and essential info of the last git commit
config_version = 'bin/config_script.sh $environment'