[英]knife windows bootstrap winrm from Mac OS X fails chef client
[英]knife bootstrap windows winrm from Mac OS X workstation fails
從Mac OS X工作站運行命令“ knife bootstrap windows winrm ec2box.amazonaws.com -r 'role[web]' -x Administrator -P 'mypassword'
產生以下輸出。 從Windows工作站運行它,該命令成功運行。 我需要采取其他步驟才能使Mac OS X工作站通過WinRM正確通信嗎?
我在亞馬遜的Windows Server 2012 AMI上使用它。 它在我的終端上到處都打印#39
,而不是Stack Overflow的工件。
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 ec2box.amazonaws.com
ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 1"
ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 2"
ec2box.amazonaws.com '#39' is not recognized as an internal or external command,
ec2box.amazonaws.com operable program or batch file.
ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 3"
ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 4"
ec2box.amazonaws.com '#39' is not recognized as an internal or external command,
ec2box.amazonaws.com operable program or batch file.
ec2box.amazonaws.com '#39' is not recognized as an internal or external command,
ec2box.amazonaws.com operable program or batch file.
ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 5"
ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 6"
ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 7"
ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 8"
ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 9"
ec2box.amazonaws.com
ec2box.amazonaws.com else was unexpected at this time.
ec2box.amazonaws.com C:\Users\Administrator>mkdir C:\chef
ec2box.amazonaws.com
ec2box.amazonaws.com C:\Users\Administrator>(
ec2box.amazonaws.com echo.url = WScript.Arguments.Named("url")
ec2box.amazonaws.com echo.path = WScript.Arguments.Named("path")
ec2box.amazonaws.com echo.proxy = null
ec2box.amazonaws.com echo.Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
ec2box.amazonaws.com echo.Set wshShell = CreateObject( "WScript.Shell" )
ec2box.amazonaws.com echo.Set objUserVariables = wshShell.Environment("USER")
ec2box.amazonaws.com echo.
ec2box.amazonaws.com echo.
ec2box.amazonaws.com echo.On Error Goto 0
ec2box.amazonaws.com echo.
ec2box.amazonaws.com echo.objXMLHTTP.open "GET", url, false
ec2box.amazonaws.com echo.objXMLHTTP.send()
ec2box.amazonaws.com echo.If objXMLHTTP.Status = 200 Then
ec2box.amazonaws.com echo.Set objADOStream = CreateObject("ADODB.Stream")
ec2box.amazonaws.com echo.objADOStream.Open
ec2box.amazonaws.com echo.objADOStream.Type = 1
ec2box.amazonaws.com echo.objADOStream.Write objXMLHTTP.ResponseBody
ec2box.amazonaws.com echo.objADOStream.Position = 0
ec2box.amazonaws.com echo.Set objFSO = Createobject("Scripting.FileSystemObject")
ec2box.amazonaws.com echo.If objFSO.Fileexists(path) Then objFSO.DeleteFile path
ec2box.amazonaws.com echo.Set objFSO = Nothing
ec2box.amazonaws.com echo.objADOStream.SaveToFile path
ec2box.amazonaws.com echo.objADOStream.Close
ec2box.amazonaws.com echo.Set objADOStream = Nothing
ec2box.amazonaws.com echo.End if
ec2box.amazonaws.com echo.Set objXMLHTTP = Nothing
ec2box.amazonaws.com ) 1>C:\chef\wget.vbs
ec2box.amazonaws.com
ec2box.amazonaws.com C:\Users\Administrator>(
ec2box.amazonaws.com echo.param(
ec2box.amazonaws.com echo. [String] $remoteUrl,
ec2box.amazonaws.com echo. [String] $localPath
ec2box.amazonaws.com echo.)
ec2box.amazonaws.com echo.
ec2box.amazonaws.com echo.$webClient = new-object System.Net.WebClient;
ec2box.amazonaws.com echo.
ec2box.amazonaws.com echo.$webClient.DownloadFile($remoteUrl, $localPath);
ec2box.amazonaws.com ) 1>C:\chef\wget.ps1
ec2box.amazonaws.com C:\Users\Administrator>) else (
我遇到了類似的問題。 我所做的是:
卸載gem,然后進行智能更新,然后在此位置(/ opt / chef / embedded / bin / gem install knife-windows)中安裝gem&knife windows插件,並打開5985端口並配置winrm:
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 -N "WIN-xxxxx"
似乎適用於刀式Windows 0.5.10 [已通過Windows Server 2008R2測試]
通過以下方式安裝:
gem uninstall knife-windows
gem install knife-windows -v 0.5.10
使用以下方法檢查您的寶石:
gem list|grep knife-windows
它應該顯示:
knife-windows (0.5.10)
我在OSX上遇到#39字符的完全相同的問題,請參閱其描述: 試圖使用Chef引導Windows服務器時卡住了
就我而言,rvm是負責人。
我設法通過以下步驟解決了這個問題:1)下載並運行omnibus安裝程序
curl -L https://www.opscode.com/chef/install.sh | sudo bash
2)通過使用系統ruby禁用rvm:
rvm use system
3)直接在廚師庫中安裝刀窗:
sudo /opt/chef/embedded/bin/gem install knife-windows
這與按照https://github.com/opscode/knife-windows上推薦的配置Windows 2008服務器(此要點中的命令: https : //gist.github.com/jimcroft/3878113 )起到了作用,我可以引導我的節點:) Agata
看起來問題可能與Ruby 2.x和winrm gem之間的互操作性差有關:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.