Vagrant 配置虚拟机意味着什么?

Vagrant 配置虚拟机意味着什么?,vagrant,virtual-machine,virtualbox,vmware,virtualization,Vagrant,Virtual Machine,Virtualbox,Vmware,Virtualization,我看到虚拟化到处都在使用“资源调配”这个词,但我似乎在谷歌上找不到一个明确的定义。它是否只涉及设置来宾操作系统并为其分配资源,还是包括下载软件和更新?或者它是否包括更多内容,比如设置共享文件夹和配置?定义和示例 从: Puppet是一种配置管理系统,允许您定义IT基础架构的状态,然后自动强制执行正确的状态 Vagrant允许您使用诸如shell脚本、Puppet、Chef或Ansible之类的供应器将您的机器配置为以下内容的一部分: Vagrant中的供应器允许您在机器上自动安装软件、更改配置等

我看到虚拟化到处都在使用“资源调配”这个词,但我似乎在谷歌上找不到一个明确的定义。它是否只涉及设置来宾操作系统并为其分配资源,还是包括下载软件和更新?或者它是否包括更多内容,比如设置共享文件夹和配置?

定义和示例 从:

Puppet是一种配置管理系统,允许您定义IT基础架构的状态,然后自动强制执行正确的状态

Vagrant允许您使用诸如shell脚本、Puppet、Chef或Ansible之类的供应器将您的机器配置为以下内容的一部分:

Vagrant中的供应器允许您在机器上自动安装软件、更改配置等,作为Vagrant启动过程的一部分


一般来说,如果您想自动设置或配置节点(虚拟或非虚拟),那么您需要一个支持硬件和/或操作系统资源调配的配置管理工具。

资源调配通常意味着一种功能状态—一种普通服务器创建之后的状态

一个典型的例子是:配置一个web服务器或配置20个web服务器。 实际上,这意味着: -创建20台服务器。 -安装提供web流量所需的软件包 -可能创建一个负载平衡器 -(可能)将所有这些框连接到负载平衡器

上述通过厨师长供应的示例(来源:)

##设置空数组
elb_实例=[]
##通用名
名称='堆栈\示例'
##机器批处理允许并行创建机器
机器\u批次“你好\u世界”怎么办
1.高达(20)do | n|
##只是一个让事情变得更简单的变量
instance=“#{name}-webserver-#{n}”
##机器资源用于创建单个服务器
机器实例
机器选项({
引导_选项:{
:instance_type=>“t1.micro”,
图像_id:'ami-b6bdde86',
:key\u name=>“stack\u key”},
:ssh_username=>“root”})
配方“Web服务器”
标记“#{name}-webserver”
收敛为真
结束
##在每个循环上使用实例名称填充数组。
厄尔巴鄂实例[“us-west-2a”、“us-west-2b”、“us-west-2c”],
:侦听器=>[{:端口=>80,:协议=>:http,:实例\端口=>80,:实例\协议=>:http}],
})
##将数组作为计算机列表传递给负载平衡器
机器elb_实例
结束

IMHO“供应”没有定义的截止线。取决于将托管虚拟机的公司。资源调配可以以Kickstart文件结束,只需设置您的操作系统和静态IP。或者KS文件可以全程更新操作系统,并设置所需的所有其他内容。您可能会在ServerFault上得到更好的答案。如果您查看Xen,那么配置也可能意味着只为VM分配资源。比如RAM和存储器。
## 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