Я новичок в Chef, и я думаю, что что-то упускаю при чтении документации. Я хочу создавать серверы, используя
knife server create (options)
но не могу найти полную документацию по опциям. В частности, как мне найти соответствие серверных разновидностей тому, что ищет нож?
Учитывая официальную вики-запись для "Запуск экземпляров облака с помощью Knife, "вот пример создания сервера в Rackspace:
knife rackspace server create 'role[webserver]' --server-name server01 --image 49 --flavor 2
Точно так же на Страница человека ножа, есть команды для образов серверов EC2 (с использованием --d --distro DISTRO
) и для серверов Slicehost (используя -f --flavor FLAVOR
)
Однако ни одна из найденных мною документов не описывает, как преобразовать то, что я хочу построить на Rackspace («Я хочу Ubuntu 10.04 LTS»), в целочисленную запись, которую ищет нож.
Мне кажется, что, учитывая отсутствие в документации описания того, как найти аромат, это должно быть очевидно. Таким образом, я думаю, что мне что-то не хватает.
Вот список вкусов:
1 256 server
2 512 server
3 1GB server
4 2GB server
5 4GB server
6 8GB server
7 15.5GB server
А вот список изображений:
4 Debian 5.0 (lenny)
10 Ubuntu 8.04.2 LTS (hardy)
14 Red Hat Enterprise Linux 5.4
19 Gentoo 10.1
23 Windows Server 2003 R2 SP2 x64
24 Windows Server 2008 SP2 x64
28 Windows Server 2008 R2 x64
29 Windows Server 2003 R2 SP2 x86
31 Windows Server 2008 SP2 x86
40 Oracle EL Server Release 5 Update 4
41 Oracle EL JeOS Release 5 Update 3
49 Ubuntu 10.04 LTS (lucid)
51 CentOS 5.5
53 Fedora 13
55 Arch 2010.05
56 Windows Server 2008 SP2 x86 - MSSQL2K8R2
57 Windows Server 2008 SP2 x64 - MSSQL2K8R2
58 Windows Server 2008 R2 x64 - MSSQL2K8R2
62 Red Hat Enterprise Linux 5.5
69 Ubuntu 10.10 (maverick)
71 Fedora 14
14362 Ubuntu 9.10 (karmic)
187811 CentOS 5.4
Существует относительно быстрый и грязный способ найти числовые идентификаторы изображений и вкусов (если вы используете браузер с функцией проверки HTML). Войдите в облако Rckspace - и введите форму для создания сервера вручную (вы можете отменить его перед созданием) и выберите нужную базовую ОС (изображение) сервера, затем появится небольшая форма наложения с помощью ajax. Если вы проверите это в своем браузере, в нем легко будет imageId в качестве скрытого поля для выбранного вами изображения и есть переключатель с именем «cloudServerProductFlavorId» для каждого доступного варианта.
(NB: вам нужно проверить html, вы не можете просто просмотреть источник, поскольку он генерируется динамически и не находится в исходном источнике)
Боковое примечание: может помочь пояснить, что Knife (который является частью Chef) использует библиотеку туманных рубинов (https://github.com/geemus/fog) для связи с поставщиками облачных услуг для создания серверов. Затем Fog связывается с Rackspace Cloud (или чем-то еще), используя их опубликованный api. Таким образом, нож / повар не могут точно знать, каковы различные варианты вкуса и изображения.
Существует документация по API Rackspace Cloud (доступна при входе в систему в разделе «Поддержка | Ресурсы для разработчиков»). Но в нем нет списка доступных вкусов и изображений. Вместо этого он дает вызов api, который вы можете сделать, чтобы получить их.
Таким образом, вы можете попробовать использовать вызов api напрямую или, что лучше, использовать туман, чтобы узнать ароматы и изображения. Однако я не нашел быстрого способа сделать это.
NB: будущая версия ножа будет поддерживать использование строк для стилей и изображений. И сможете также их перечислить:
knife rackspace server list flavors
knife rackspace server list images
Подробнее об этом: http://tickets.opscode.com/browse/CHEF-1558
Если у вас есть существующий сервер, вы можете использовать 'нож'настроить шеф-повар на сервере.
Knife ничего не знает о существующих образах стоек, доступных для запуска облачных инстансов (а также об AMI EC2). Это то, что вам нужно получить от Rackspace.
Похоже, они только что вышли:
knife rackspace image list
knife rackspace flavor list
Не проверял варианты ec2, но у меня работают стойки.