Con rối - Tệp kê khai

Trong Puppet, tất cả các chương trình được viết bằng ngôn ngữ lập trình Ruby và được lưu với phần mở rộng là .pp được gọi là manifests. Nói chung, tất cả các chương trình Con rối được xây dựng với mục đích tạo hoặc quản lý bất kỳ máy chủ đích nào được gọi là tệp kê khai. Tất cả các chương trình được viết bằng Puppet đều tuân theo kiểu mã hóa Puppet.

Cốt lõi của Puppet là cách các tài nguyên được khai báo và cách các tài nguyên này đại diện cho trạng thái của chúng. Trong bất kỳ tệp kê khai nào, người dùng có thể có một bộ sưu tập các loại tài nguyên khác nhau được nhóm lại với nhau bằng cách sử dụng lớp và định nghĩa.

Trong một số trường hợp, tệp kê khai Con rối thậm chí có thể có một câu lệnh điều kiện để đạt được trạng thái mong muốn. Tuy nhiên, cuối cùng tất cả đều đi xuống để đảm bảo rằng tất cả các tài nguyên được xác định và sử dụng theo đúng cách và tệp kê khai đã xác định khi được áp dụng sau khi được chuyển đổi thành danh mục có khả năng thực hiện nhiệm vụ mà nó được thiết kế.

Quy trình làm việc của tệp kê khai

Tệp kê khai con rối bao gồm các thành phần sau:

  • Files (đây là các tệp đơn giản mà Puppet không liên quan gì đến chúng, chỉ cần chọn và đặt chúng vào vị trí đích)

  • Resources

  • Templates (chúng có thể được sử dụng để xây dựng các tệp cấu hình trên nút).

  • Nodes (tất cả các định nghĩa liên quan đến một nút khách hàng được xác định ở đây)

  • Classes

Điểm cần lưu ý

  • Trong Puppet, tất cả các tệp kê khai sử dụng Ruby làm ngôn ngữ mã hóa của chúng và được lưu bằng .pp sự mở rộng.

  • Câu lệnh "Nhập" trong nhiều tệp kê khai được sử dụng để tải tệp khi Con rối khởi động.

  • Để nhập tất cả các tệp có trong một thư mục, bạn có thể sử dụng câu lệnh nhập theo cách khác như nhập 'khách hàng / *'. Điều này sẽ nhập tất cả.pp các tệp bên trong thư mục đó.

Viết Manifests

Làm việc với các biến

Trong khi viết tệp kê khai, người dùng có thể xác định một biến mới hoặc sử dụng một biến hiện có tại bất kỳ điểm nào trong tệp kê khai. Puppet hỗ trợ các loại biến khác nhau nhưng một số ít trong số chúng được sử dụng thường xuyên như chuỗi và mảng chuỗi. Ngoài chúng, các định dạng khác cũng được hỗ trợ.

Ví dụ về biến chuỗi

$package = "vim"  

package {  $package: 
   ensure => "installed" 
}

Sử dụng vòng lặp

Vòng lặp được sử dụng khi một người muốn trải qua nhiều lần lặp lại trên cùng một bộ mã cho đến khi một điều kiện xác định được đáp ứng. Chúng cũng được sử dụng để thực hiện các tác vụ lặp đi lặp lại với các bộ giá trị khác nhau. Tạo 10 nhiệm vụ cho 10 việc khác nhau. Người ta có thể tạo một tác vụ duy nhất và sử dụng một vòng lặp để lặp lại tác vụ đó với các gói khác nhau mà người ta muốn cài đặt.

Thông thường nhất, một mảng được sử dụng để lặp lại một thử nghiệm với các giá trị khác nhau.

$packages = ['vim', 'git', 'curl']  

package { $packages: 
   ensure => "installed" 
}

Sử dụng Điều kiện

Puppet hỗ trợ hầu hết các cấu trúc điều kiện có thể được tìm thấy trong các ngôn ngữ lập trình truyền thống. Điều kiện có thể được sử dụng để xác định động xem có nên thực hiện một tác vụ cụ thể hay một bộ mã sẽ được thực thi hay không. Giống như if / else và các câu lệnh trường hợp. Ngoài ra, các điều kiện như thực thi cũng sẽ hỗ trợ các thuộc tính hoạt động như điều kiện, nhưng chỉ chấp nhận đầu ra lệnh như một điều kiện.

if $OperatingSystem != 'Linux' { 
   warning('This manifest is not supported on this other OS apart from linux.') 
} else { 
   notify { 'the OS is Linux. We are good to go!': }
}