chef 配置之 Templates

Posted 不停不急

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了chef 配置之 Templates相关的知识,希望对你有一定的参考价值。

chef template 简单例子

cat nginx_config.rb

.....
template /etc/nginx/nginx.conf do source ‘nginx.conf.erb owner root group root mode 0644 end
.......
/etc/nginx/nginx.conf 目标文件位置
nginx.conf.erb 模板文件

 

 

puppet 是这样表达的

file{"nginx.conf":
ensure => present,
mode => 644,owner => root,group => root,
path => "/etc/nginx/nginx.conf",
content=> template("nginx/nginx.conf.erb"),
require=> Package["nginx"],
}

简单对比下方便理解

 

chef template的resource

template name do
  atomic_update              TrueClass, FalseClass
  backup                     FalseClass, Integer
  cookbook                   String
  force_unlink               TrueClass, FalseClass
  group                      String, Integer
  helper(:method)            Method { String } # see Helpers below
  helpers(module)            Module # see Helpers below
  inherits                   TrueClass, FalseClass
  local                      TrueClass, FalseClass
  manage_symlink_source      TrueClass, FalseClass, NilClass
  mode                       String, Integer
  notifies                   # see description
  owner                      String, Integer
  path                       String # defaults to ‘name‘ if not specified
  provider                   Chef::Provider::File::Template
  rights                     Hash
  sensitive                  TrueClass, FalseClass
  source                     String, Array
  subscribes                 # see description
  variables                  Hash
  verify                     String, Block
  action                     Symbol # defaults to :create if not specified
end
  • template is the resource
  • name is the name of the resource block, typically the path to the location in which a file is created and also the name of the file to be managed. For example: /var/www/html/index.html, where /var/www/html/ is the fully qualified path to the location and index.html is the name of the file
  • source is the template file that will be used to create the file on the node, for example: index.html.erb; the template file is located in the /templates directory of a cookbook
  • :action identifies the steps the chef-client will take to bring the node into the desired state
  • atomic_updatebackupcookbookforce_unlinkgrouphelperhelpersinheritslocalmanage_symlink_sourcemodeowner,pathproviderrightssensitivesourcevariables, and verify are properties of this resource, with the Ruby type shown. See “Properties” section below for more information about all of the properties that may be used with this resource.

 

以上是关于chef 配置之 Templates的主要内容,如果未能解决你的问题,请参考以下文章

Django的templates(模板)

在创建服务之前处理的 Chef 模板

Ansible之templates模板

ansible之配置tomcat

Centos 7安装与配置chef

安装和配置chef