Что означает предоставление виртуальной машины?

Я вижу, что слово "обеспечение" используется везде с виртуализацией, но я не могу найти четкое определение этого в google. Включает ли это просто настройку гостевой операционной системы и выделение ресурсов на нее, или же она включает загрузку программного обеспечения и обновлений? Или он включает в себя даже больше, чем настройку общих папок и конфигураций?

Ответ 1

Определения и примеры

Из определение Puppet:

Puppet - это система управления конфигурацией, которая позволяет вам определять состояние вашей ИТ-инфраструктуры, а затем автоматически обеспечивает правильное состояние.

Vagrant позволяет использовать создателей, таких как сценарии оболочки, кукольный, шеф-повар или Ansible, чтобы настроить вашу машину как часть процесса :

Provisioners in Vagrant позволяют автоматически устанавливать программное обеспечение, изменять конфигурации и т.д. на машине как часть процесса бродяг.

В общем, если вы хотите автоматизировать настройку или конфигурацию node, виртуального или нет, тогда вам понадобится инструмент управления конфигурацией, который поддерживает аппаратное обеспечение и/или настройку ОС.

Ответ 2

Предоставление обычно означает функциональное состояние - что-то за созданием ванильного сервера.

Типичным примером является: Предоставление веб-сервера или предоставление 20 веб-серверов. На практике это означает:  - Создайте 20 серверов.  - Установить пакеты, необходимые для обслуживания веб-трафика;  - Возможно создать балансировщик нагрузки  - (возможно) Присоедините все эти поля к балансировщику нагрузки

Пример с помощью шеф-повара (от: 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