一千萬個為什麽

搜索

如何為Redhat創建Chef Package。我有2個rpms代理和2個yaml文件



  1. Installation steps. There are two ELK agents to install:

    • Metricbeat

      1. Copy the attached file metricbeat-6.0.0-x86_64.rpm to the target server
      2. Execute the command: sudo rpm -vi metricbeat-6.0.0-x86_64.rpm
      3. Copy the attached file system.yml to /etc/metricbeat/modules.d/
      4. Copy the attached file metricbeat.yml to /etc/metricbeat/
      5. Execute the command: sudo systemctl enable metricbeat
      6. Execute the command: sudo service metricbeat start
    • Filebeat

      1. Copy the attached file filebeat-6.0.0-x86_64.rpm to the target server
      2. Execute the command: sudo rpm -vi filebeat-6.0.0-x86_64.rpm
      3. Execute the command: sudo mv /etc/filebeat/module.d/system.yml.disabled /etc/filebeat/module.d/system.yml
      4. Copy the attached file filebeat.yml to /etc/filebeat/
      5. Execute the command: sudo systemctl enable filebeat
      6. Execute the command: sudo service filebeat start

我想使用Chef自動化這個。 Chef環境已準備就緒並且正在工作。我想在150臺服務器上部署此二進制文件。如果有人一步一步解釋,會有所幫助。

轉載註明原文: 如何為Redhat創建Chef Package。我有2個rpms代理和2個yaml文件

一共有 2 個回答:

非常基本的配方例如在ubuntu上安裝filebeat(我對於elasticsearch,kibana和logstash使用或多或少的相同方法):

apt_repository 'elk' do
  uri 'https://artifacts.elastic.co/packages/5.x/apt'
  distribution 'stable'
  components ['main']
  key 'https://artifacts.elastic.co/GPG-KEY-elasticsearch'
  cache_rebuild true
end

package 'filebeat' do
  action :upgrade # To keep up to date with releases from elastic.co
end

service 'filebeat' do
  action [:enable, :start]
end

template '/etc/filebeat/filebeat.yml' do
  source 'filebeat.yml.erb'
  mode '0600'
  notifies :restart, 'service[filebeat]'
end

基本上,添加存儲庫,安裝軟件包,啟用和啟動服務,都會呈現配置並在服務發生更改時重新啟動服務。在ubuntu上,包設置了服務腳本,所以我不必在這裏管理它。

模板是我的默認配置,根據環境使用一些節點屬性。請參閱 https://docs.chef.io/resource_template.html 以獲取更多關於如何使用它們。

根據您的問題,我強烈建議您按照 https://learn.chef.io 中的教程路徑進行操作掌握有關廚師的基本知識。

https://www.google.nl/search? q =如何%2Bto%2Bcreate%2BA%2Bchef%2Bpackage

收益:

https://docs.chef.io/resource_package.html

https://docs.chef.io/resource_examples.html

後者提供了代碼片段,比如如何復制文件:

從副本

創建文件      

以下示例顯示如何將文件從一個目錄復制到   另一個,在節點上本地:

  file'/root/1.txt'do
  content IO.read('/ tmp/1.txt')
  行動:創造
結束
</代碼> 

更多示例可以在超市中找到。為了編寫廚師書籍,人們可以調查一些食譜的結構,如 MySQL