小编Ale*_*ger的帖子

Chef - 如何从节点特定值计算属性?

假设我有一本配置和安装神奇守护进程的食谱:

魔法守护进程/食谱/default.rb:

template "/etc/magical-deamon/magical.conf" do
    source "magical.conf"
    mode 0644
    notifies :restart, resources(:service => "magical-deamon")
end
Run Code Online (Sandbox Code Playgroud)

魔法守护进程/属性/default.rb:

default['magical-deamon']['memory'] = 1024
Run Code Online (Sandbox Code Playgroud)

magic-deamon/templates/default/magical.conf.erb:

memory = <%= node['magical-deamon']['memory'] %>
Run Code Online (Sandbox Code Playgroud)

据我了解,我会使用节点属性来设置内存值,例如:

{
    "normal": {
        "tags": [],
        "magical-deamon": {
            "memory": 256
        }
    },
    "name": "server.example.com",
    "chef_environment": "production",
    "run_list": [
        "role[base]"
    ]
}
Run Code Online (Sandbox Code Playgroud)

或者通过角色:

{
    "name": "base",
    "default_attributes": {
        "magical-deamon": {
                "memory": 756
            }
    },
    "json_class": "Chef::Role",
    "env_run_lists": {
    },
    "run_list": [
    ],
    "description": "base role applied to all nodes",
    "chef_type": "role",
    "override_attributes": {
    },
  }
} …
Run Code Online (Sandbox Code Playgroud)

chef

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

chef ×1