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.
  • 相关阅读:
    JS调试工具
    什么是Web Service?
    win7怎么安装消息队列 MSMQ
    死锁产生的原因及四个必要条件
    项目管理模式之如何去除SVN标记
    AJAX中的请求方式以及同步异步的区别
    敏捷软件开发模型--SCRUM
    堆和栈
    UI产品设计流程中的14个要点
    Android中dp和px之间进行转换
  • 原文地址:https://www.cnblogs.com/iamdevops/p/5624704.html
Copyright © 2011-2022 走看看