zoukankan      html  css  js  c++  java
  • 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.
  • 相关阅读:
    WinForm事件中的Object sender和EventArgs e参数
    Day 25:Python 模块 collections 3 个常用类
    Day 23:Python 中的一些高频面试题及解答小记
    Day 22:Python 迭代器和生成器小记
    Day 21:Python 多线程和协程
    Day 20:python中几个常用的内置函数
    Day 19:Python 函数五类参数
    遍历容器auto方法
    JS鼠标提示框效果
    数据库(二)
  • 原文地址:https://www.cnblogs.com/iamdevops/p/5624704.html
Copyright © 2011-2022 走看看