Con rối là một con quái vật để có được đầu óc của bạn, vì vậy học tập bằng ví dụ không phải là điều xấu. Trong phần bên dưới, tôi giả sử bạn đang sử dụng các mô-đun - vui lòng nói trong một nhận xét nếu bạn không hoặc nếu bạn cần thêm chi tiết về cách đặt mô-đun lại với nhau.
Giả sử bạn bắt đầu một mô-đun mới được gọi là mymodule
. Trong thư mục con rối nhà (thường /etc/puppet
) trên con rối chủ, bạn nên tạo tệp kê khai mô-đun và thư mục tệp:
mkdir -p modules/mymodule/manifests
mkdir -p modules/mymodule/files
Sau đó tạo một tệp trong thư mục đó có tên init.pp
và nhập:
class myfile {
file { '/home/operator1/Desktop/Backup':
ensure => directory,
mode => '0755',
owner => 'operator1',
group => 'operator1',
}
file { "/home/operator1/Desktop/Backup/datas.xls":
mode => "0644",
owner => 'operator1',
group => 'operator1',
source => 'puppet:///modules/module_name/datas.xls',
}
}
Sau đó đặt datas.xls
tệp vào files
thư mục của mô-đun - trong ví dụ này trong modules/mymodule/files/
. (Lưu ý cũng có thể có một templates
thư mục cho các mẫu ).
Trong manifests/site.pp
tệp bạn cần nhập mô-đun và bao gồm lớp bằng cách thực hiện một số thứ như:
import 'mymodule'
node base {
include myfile
}
node server1 inherits base {}
node server2 inherits base {
# extra config here
}
Đảm bảo rằng tất cả các nút của bạn kế thừa từ cơ sở và đó phải là tất cả những gì bạn cần làm. Kể từ con rối 0,25, bạn có thể sử dụng các biểu thức chính quy trong tên nút, ví dụ:
node server[0-9] inherits base {}
Hãy cho tôi biết trong các ý kiến nếu bạn yêu cầu làm rõ thêm.
Thiết lập một khách hàng để nói chuyện với bậc thầy bù nhìn
Trên máy khách, bạn cần làm:
sudo apt-get install puppet
Sau đó chỉnh sửa /etc/default/puppet
và thay đổi START=no
thành START=yes
.
Đồng thời chỉnh sửa /etc/puppet/puppet.conf
và thêm một dòng vào [main]
phần để cho nó biết nơi tìm chủ nhân bù nhìn:
server=puppet.mydomain.com
Sau đó chúng ta có thể thực hiện chạy thử với sudo puppetd --test
. Nếu bạn gặp lỗi chính, bạn có thể cần phải truy cập vào máy chủ chính rối và ký vào khóa máy khách. Để kiểm tra tên chính xác bạn có thể làm sudo puppetca --list
và sau đó sudo puppetca --sign server1.mydomain.com
(hoặc bất cứ tên máy chủ nào từ lệnh danh sách).
Bây giờ bắt đầu dịch vụ con rối với sudo service puppet start
và bạn nên đi. Dịch vụ con rối sẽ chạy mỗi giờ, vì vậy nếu bạn cập nhật công thức nấu ăn cho con rối thì tất cả khách hàng của bạn cũng sẽ được cập nhật.
Xóa tập tin
Tôi lưu ý trong câu hỏi ban đầu bạn muốn biết cách xóa tập tin. Bạn sẽ chỉnh sửa manifests/init.pp
thành
file { "/home/operator1/Desktop/Backup/datas.xls":
ensure => absent,
}
Lời khuyên hữu ích khác
Nếu bạn gặp khó khăn, có một vài điều bạn có thể làm. Trên bất kỳ máy nào có cài đặt con rối, bạn có thể kiểm tra cú pháp của mình bằng cách chạy
puppet --parseonly --ignoreimport myfile.pp
hoặc kiểm tra toàn bộ lô bằng cách lấy --ignoreimport
cờ ra, mặc dù điều đó có thể dẫn đến một số thông báo lỗi không thực sự là lỗi tôi đã tìm thấy. Bạn cũng có thể chạy rối trực tiếp trên máy khách rối bằng cách thực hiện:
sudo puppetd --test
trong đó hiển thị đầu ra hữu ích khác nhau, với các lỗi và cảnh báo được tô sáng bằng các màu khác nhau. Nếu bạn muốn biết thêm chi tiết, bạn có thể chạy:
sudo puppetd --test --debug
nhưng điều đó thường tạo ra rất nhiều đầu ra mà khó có thể lội qua, vì vậy chỉ làm điều đó nếu bạn đã thử các bước trước đó và bị mắc kẹt và cần phải xem mọi thứ đã được thực hiện.
Lưu ý rằng điều này dựa trên con rối 0.25.x, đây là những gì tôi sử dụng tại nơi làm việc và cũng là phiên bản trong Ubuntu 10.04. Mã con rối trong phần chính chắc chắn sẽ vẫn hoạt động, nhưng các phiên bản con rối sau này có cờ mới có thể giúp gỡ lỗi đầu ra.