В настоящее время мы используем эту команду для создания нового экземпляра ec2 с помощью chef:
Knife ec2 server create --node-name = prod-apache-1 --availability-zone us-east-1c --image ami-3d4ff254 --distro ubuntu12.04-gems --groups "default" --ssh-key foo --identity-file ~ / .ssh / id_rsa --ssh-user ubuntu --flavor m1.small
После этой команды мы запускаем другие команды chef, чтобы завершить подготовку сервера.
Мне было интересно, можно ли при первой настройке экземпляра создать и смонтировать том размером 100 ГБ в / mnt и вместо этого смонтировать эфемерное хранилище в / tmp или / mnt-ephemeral.
Если нет, какие еще команды в chef вы бы посоветовали запустить? Я знаю, как это сделать с помощью консоли aws, и, вероятно, могу понять, как это сделать с помощью инструментов командной строки ec2, но я знал, что готовить, и немного ошеломлен.
Смотря на исходный код для knife-ec2
на Github могло показаться, что knife ec2 server create
поддерживает следующие параметры:
--ebs-size
для установки размера загрузочного тома в экземпляре загрузки из EBS--ephemeral
для установки местоположений устройств, в которых должны отображаться эфемерные томаЭто может быть полезно. Я считаю, что эти настройки просто прикрепят тома к устройствам на вашем новом экземпляре; вам может понадобиться управлять /etc/fstab
(что предположительно можно сделать с помощью Chef), чтобы установить устройства в соответствующие точки монтирования.
Если вам также необходимо создать и смонтировать дополнительный том EBS, вы, возможно, можете исправить свою локальную копию knife-ec2
плагин, чтобы вы могли сделать это, добавив больше записей в block-device-mapping
перед запуском нового экземпляра. Или вы можете создать и прикрепить том после запуска, возможно, используя Поваренная книга OpsCode AWS чтобы управлять этим процессом с помощью Chef.
(Для справки, я ветеран пользователя Puppet, но сам я новичок в Chef и еще не пробовал эти вещи. Удачи!;)