Làm cách nào tôi có thể quản lý Puppet.conf với Puppet?


11

Tôi sử dụng con rối để quản lý máy chủ linux và các dịch vụ khác nhau. Nó hoạt động tốt, ngoại trừ dịch vụ con rối .

Lớp học múa rối của tôi là như thế này:

class puppet {
  file { "/etc/puppet/puppet.conf":
    owner  => 0, group  => 0, mode => 0644,
    content => template("${module_name}/puppet.conf.erb"),
  }

  service { "puppet":
    name       => "puppet",
    ensure     => running,
    enable     => true, hasstatus  => true, hasrestart => true,
    require    => File["/etc/puppet/puppet/conf"]
    subscribe  => File["/etc/puppet/puppet/conf"]
  }
}

}

Khi một thay đổi được áp dụng trên /etc/puppet/puppet.conf, con rối thông báo rằng nó cần khởi động lại dịch vụ con rối và do đó, chính nó đã bị sập:

Mar 30 17:08:23 XXXX puppet-agent[20172]: (/Stage[main]/Puppet/File[/etc/puppet/puppet.conf]/content) content changed '{md5}eeaf5dfc7d88c8d9c85e6a8cc714d702' to '{md5}ef6ff0e423f4125e24b689980df9f71d'
Mar 30 17:08:23 XXXX puppet-agent[20172]: Caught TERM; calling stop

Bạn có biết làm thế nào tôi có thể cập nhật Puppet.conf chính xác với con rối không?

Câu trả lời:


10

Trình nền con rối sẽ tự động nhận thấy các thay đổi đối với tệp Puppet.conf mà không cần phải khởi động lại. Đơn giản chỉ cần loại bỏ subscribe => File["/etc/puppet/puppet.conf"]từ service { "puppet" ... }và mọi thứ sẽ vẫn hoạt động.

Con rối cũng không thể thực sự ensure => runningcho chính nó. Tuy nhiên, sử dụng một cái gì đó như Mutal Restart với con rối đảm bảo cron đang chạy và một cronjob đảm bảo con rối đang chạy sẽ hoạt động, tuy nhiên.


Tôi sẽ kiểm tra nếu nó hoạt động vào thứ hai, nhưng nó có vẻ rất tốt với tôi. Cảm ơn con trỏ về Khởi động lại lẫn nhau.
Coren

1

Một giải pháp là không chạy rối như một daemon, mà gọi nó từ cron. Đây là điều mà nhiều người thích vì đối với họ, daemon tiêu tốn rất nhiều bộ nhớ.

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.