我看到“配置”一词在虚拟化无处不在,但我似乎无法在谷歌上找到明确的定义。它是否仅涉及设置客户操作系统并为其分配资源,还是包括下载软件和更新?或者它是否包含更多内容,例如设置共享文件夹和配置?
答案 0 :(得分:6)
Puppet是一个配置管理系统,允许您定义IT基础架构的状态,然后自动强制执行正确的状态。
Vagrant允许您使用shell脚本,Puppet,Chef或Ansible等配置程序将您的计算机配置为provisioning process的一部分:
Vagrant中的配置程序允许您在漫游过程中自动安装软件,更改配置等等。
通常,如果要自动设置或配置节点(无论是否为虚拟节点),那么您需要的是支持硬件和/或操作系统配置的配置管理工具。
答案 1 :(得分:2)
供应通常意味着功能状态 - 通过vanilla服务器创建的东西。
典型示例是:配置Web服务器或配置20个Web服务器。 在实践中,这意味着: - 创建20台服务器。 - 安装提供Web流量所需的包 - 可能会创建一个负载均衡器 - (可能)将所有这些框加入负载均衡器
所述via Chef Provisioning的示例(来自:https://github.com/vinyar/tokyo_chef_provisioning)
## Setting up empty array
elb_instances = []
## Generic name
name = 'stack_example'
## machine_batch allows parallel creation of machines
machine_batch 'hello_world' do
1.upto(20) do |n|
## Just a variable to make things easier
instance = "#{name}-webserver-#{n}"
## Machine resource is used to create a single server
machine instance do
machine_options ({
bootstrap_options: {
:instance_type => "t1.micro",
image_id: 'ami-b6bdde86',
:key_name => "stack_key"},
:ssh_username => "root"})
recipe "webserver"
tag "#{name}-webserver"
converge true
end
## Populating array with instance name on each loop.
elb_instances << instance
end
end
## Creating load balancer
load_balancer "#{name}-webserver-lb" do
load_balancer_options({
:availability_zones => ["us-west-2a", "us-west-2b", "us-west-2c"],
:listeners => [{:port => 80, :protocol => :http, :instance_port => 80, :instance_protocol => :http }],
})
## Passing array as a list of machines to the load balancer
machines elb_instances
end