7

我是一个 mac 女孩,正在通过 Opscode 的托管 Chef 将刀窗连接到我的 Rackspace Windows 服务器。(我知道,这听起来很奇怪,但这些 Windows 服务器是客户的要求)。

我尝试使用 Chef 进行旋转,但我被困在尝试使用 Knife-windows 命令在 Rackspace 上引导 Windows 2008 Server 的过程中。

我正在开发 OSX,使用 rvm、ruby 2.1.0 和带有厨师 + 刀窗的本地 gemset。

我试图按照以下步骤操作: https ://github.com/opscode/knife-windows

我已经配置了 winrm 服务。我已经设置了一个规则,允许在我的防火墙中的端口 5985 上进行入站连接,并且我验证了我可以使用 telnet 进行连接。

除了 Learn Chef 屏幕截图,我还尝试按照指南进行操作:http: //developer.rackspace.com/blog/step-by-step-walkthrough-to-using-chef-to-bootstrap-windows-nodes -on-the-rackspace-cloud.html

我这样配置winrm:

winrm quickconfig -q
winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="300"}'
winrm set winrm/config '@{MaxTimeoutms="1800000"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/service/auth '@{Basic="true"}'
netsh advfirewall firewall add rule name="WinRM 5985" protocol=TCP dir=in localport=5985 action=allow
netsh advfirewall firewall add rule name="WinRM 5986" protocol=TCP dir=in localport=5986 action=allow
net stop winrm
sc config winrm start=auto
net start winrm

我正在使用这样的刀:knife bootstrap windows winrm 168.**** -x Administrator -P '****'

我得到这个奇怪的日志,没有成功报告,厨师管理控制台中没有出现任何实例....我看到它试图多次插入字符'#39'?

WARNING: Could not load IOV methods. Check your GSSAPI C library for an update
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update
Bootstrapping Chef on 162.13.15.241
162.13.15.241 "Rendering "C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-47130-1392751156.bat" chunk 1" 
162.13.15.241 "Rendering "C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-47130-1392751156.bat" chunk 2" 
162.13.15.241 '#39' is not recognized as an internal or external command,
162.13.15.241 operable program or batch file.
162.13.15.241 "Rendering "C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-47130-1392751156.bat" chunk 3" 
162.13.15.241 '#39' is not recognized as an internal or external command,
162.13.15.241 operable program or batch file.
162.13.15.241 "Rendering "C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-47130-1392751156.bat" chunk 4" 
162.13.15.241 '#39' is not recognized as an internal or external command,
162.13.15.241 operable program or batch file.
162.13.15.241 '#39' is not recognized as an internal or external command,
....
162.13.15.241  echo. 
162.13.15.241  echo.$webClient = new-object System.Net.WebClient;  
162.13.15.241  echo. 
162.13.15.241  echo.$webClient.DownloadFile($remoteUrl, $localPath); 
162.13.15.241 ) 1>C:\chef\wget.ps1 
162.13.15.241 C:\Users\Administrator>)

我尝试遵循来自 Mac OS X 工作站的刀引导 windows winrm的建议,并将刀窗口降级到 0.5.10 版,但结果是一样的。

我的宝石如下:

akami (1.2.1)
bigdecimal (1.2.3)
builder (3.2.2)
bundler (1.5.3)
bundler-unload (1.0.2)
chef (11.10.0)
chef-zero (1.7.3)
coderay (1.1.0)
diff-lcs (1.2.5)
em-winrm (0.5.4)
erubis (2.7.0)
eventmachine (1.0.0.beta.3)
excon (0.31.0)
executable-hooks (1.3.1)
ffi (1.9.3)
fog (1.20.0)
formatador (0.2.4)
gem-wrappers (1.2.4)
gssapi (1.0.3)
gyoku (1.1.1)
hashie (2.0.5)
highline (1.6.20)
httpclient (2.3.4.1)
httpi (0.9.7)
io-console (0.4.2)
ipaddress (0.8.0)
json (1.8.1)
knife-rackspace (0.9.0)
knife-windows (0.5.10)
little-plugger (1.1.3)
logging (1.8.2)
method_source (0.8.2)
mime-types (1.25.1)
mini_portile (0.5.2)
minitest (4.7.5)
mixlib-authentication (1.3.0)
mixlib-cli (1.4.0)
mixlib-config (2.1.0)
mixlib-log (1.6.0)
mixlib-shellout (1.3.0)
moneta (0.6.0)
multi_json (1.8.4)
net-scp (1.1.2)
net-ssh (2.8.0)
net-ssh-gateway (1.2.0)
net-ssh-multi (1.2.0)
nokogiri (1.6.1)
nori (1.1.5)
ohai (6.20.0)
pry (0.9.12.6)
psych (2.0.2)
puma (1.6.3)
rack (1.5.2)
rake (10.1.0)
rdoc (4.1.0)
rest-client (1.6.7)
rubygems-bundler (1.4.2)
rubyntlm (0.1.1)
rvm (1.11.3.9)
savon (0.9.5)
slop (3.4.7)
systemu (2.5.2)
test-unit (2.1.0.0)
uuidtools (2.1.4)
wasabi (1.0.0)
winrm (1.1.3)
yajl-ruby (1.2.0)

有什么建议吗?这是 OS X 的东西吗?Windows 服务器的东西?厨师的事???

带着最后一丝希望,阿加塔

4

2 回答 2

3

清除并安装它:

gem uninstall knife-windows  
gem install knife-windows -v 0.5.10   

检查您的宝石:

gem list | grep knife-windows  

它应该显示knife-windows (0.5.10)

配置窗口远程管理

  1. winrm quickconfig -q   
  2. winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}  
  3. winrm set winrm/config @{MaxTimeoutms="1800000"}  
  4. winrm set winrm/config/service @{AllowUnencrypted="true"}
  5. winrm set winrm/config/service/auth @{Basic="true"}

然后引导:

knife bootstrap windows winrm ec2-xx-xxx-xx.compute-1.amazonaws.com -r 'recipe[cookbook]' -x Administrator -P xxxxxxxx
于 2014-04-04T05:55:28.857 回答
1

就我而言,RVM 是罪魁祸首。我设法通过以下步骤解决了这个问题:

1) 从 Opscode 下载并安装 Chef 的综合安装程序

curl -L https://www.opscode.com/chef/install.sh | sudo bash

2)直接在厨师库中安装刀窗:

导航/opt/chef/embedded/bin/gem

使用系统 ruby​​ 禁用 rvm:

rvm use system

3)安装刀窗插件:

/opt/chef/embedded/bin/gem install knife-windows

现在我可以使用命令引导我的 Windows Server 节点

knife bootstrap windows winrm <IP Address> -p 5985  -x Administrator -P '<password>'
于 2014-02-22T14:45:11.633 回答