我是 Chef 新手,我认为我在阅读文档时遗漏了一些内容。我想使用
knife server create (options)
但似乎找不到关于选项的完整文档。具体来说,如何找到服务器风格与 Knife 所寻找内容的映射?
鉴于“使用 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”)转换为 Knife 正在寻找的整数条目。
我突然想到,鉴于文档中没有关于如何找到风味的描述,这应该是显而易见的。因此,我认为我遗漏了一些东西。
答案1
有一种相对快速但粗糙的方法来查找图像和风味数字 ID(如果您使用的浏览器具有 html 检查功能)。登录到 rackspace cloud - 并输入表单以手动创建服务器(您可以在创建之前取消)并选择所需的服务器基础操作系统(图像),然后弹出一个带有 ajax 的小覆盖表单。如果您在浏览器中检查它,它会方便地将 imageId 作为您选择的图像的隐藏字段,并且每个可用的风味都有一个名为“cloudServerProductFlavorId”的单选按钮。
(注意:您需要检查 html,不能只查看源代码,因为它是动态生成的,不在原始源代码中)
附注:澄清一下 Knife(Chef 的一部分)使用的是 fog ruby 库(https://github.com/geemus/fog) 与云服务提供商通信以创建服务器。然后,Fog 使用其发布的 API 与 Rackspace Cloud(或其他任何平台)通信。因此,knife/chef 无法真正知道风味和图像的各种选项是什么。
有 Rackspace Cloud api 的文档(登录后可在“支持|开发人员资源”下找到)。但它没有提供可用风格和图像的列表。而是提供了一个 api 调用,您可以调用它来获取这些内容。
因此,您可以尝试直接使用 api 调用,或者更好的是,使用雾来找出风味和图像。但是我没有找到快速的方法来做到这一点。
注意:未来版本的 Knife 将支持使用字符串表示机架空间风格和图像。并且还可以列出它们:
knife rackspace server list flavors
knife rackspace server list images
答案2
以下是口味列表:
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
答案3
如果您有现有服务器,则可以使用'刀引导' 在服务器上设置 chef。
Knife 不知道现有的可用于启动云实例(或 EC2 AMI)的 Rackspace 映像。您需要从 Rackspace 获取这些信息。
答案4
这些好像是最近才发布的:
knife rackspace image list
knife rackspace flavor list
尚未验证 ec2 变体,但 rackspace 变体对我有用。