在厨师中引导一个Windows客户端

时间:2014-01-16 17:16:09

标签: chef bootstrapping

我正在尝试将我的客户端(Windows机器)引导到托管的厨师服务器(来自opscode)。

  1. 我已在我的客户端计算机上成功安装了刀。

  2. 我在用户/文件夹中的chef-repo中已开始执行。

  3. 我无法使用厨师服务器进行自举。

  4. 基本上,chef-repo>knife bootstrap ipaddress -x user -P password对我不起作用。

    我收到错误:

      

    错误:网络错误。由于目标机器主动拒绝它,因此无法建立连接。

    在示例中,人们使用opscode作为用户名和密码。那么我应该理想地使用它呢?

    ipaddress是客户端IP地址吗?我想将菜谱上传到服务器的机器?

6 个答案:

答案 0 :(得分:4)

Windows系统上的Bootstrapping Chef需要一个额外的刀插件,knife-windows此插件使用WinRM来允许您远程调用Windows中的本机对象。

该插件添加了一些子命令,特别是knife bootstrap windows winrmknife bootstrap windows ssh,以及为Windows设计的自定义引导程序模板。

安装了knife-windows插件之后,您应该可以使用类似于以下命令来引导Windows系统:

knife bootstrap windows winrm ipaddress -x Administrator -P 'super_secret_password'

答案 1 :(得分:2)

首先回答你的两个问题:

  1. -x username和 - P password参数是您要引导的节点的凭据。因此,如果您有以管理员/密码身份登录的Windows VM,那么您将通过-x Administrator -P password

  2. 是的,ipaddress是您要为厨师管理进行引导的节点的地址。

  3. 但不,ipaddress不是“我想把菜谱上传到服务器的机器吗?”这让我觉得你有一个误解......

    • 您可以从工作站将cookbook上传到服务器。
    • 您使用knife configure --initial初始化工作站。
    • 然后,您可以使用knife cookbook upload cookbook_name
    • 上传食谱

    ...而

    • 您使用knife bootstrap(在您的工作站上)安装chef-client,并将您要管理作为主厨节点的厨师服务器,远程机器注册为节点
    • 您无需knife bootstrap工作站。

    关于引导Windows节点,如果你想做什么,@迈克尔让你走在正确的轨道上。

答案 2 :(得分:1)

使用WinRM要求Windows正在侦听HTTPS请求(端口5986)。因此必须在Windows计算机上启动WinRM。但要这样做,要求机器安装了证书,否则https将无法正常工作。据我所知,winrm的刀具引导只会使用安全的通信。

例如......

    // POP UP
    $('.completo').click(function(){
        var divid = $(this).attr('id');
        $('.overlay').fadeIn();
        $(divid + '_pop').slideDown();
    });

Message =无法在HTTPS上创建WinRM侦听器,因为此计算机没有适当的证书。要用于SSL,证书必须具有与主机名匹配的CN,适用于服务器身份验证,并且不能过期,撤销或自签名。

所以...安装一个房产证书,确保winrm已经开始倾听等。

使用此功能查看状态...

winrm quickconfig -transport:https

答案 3 :(得分:0)

在Windows客户端节点Powershell上运行以下命令

 set-item wsman:\localhost\shell\maxmemorypershellmb 1024
 set-item wsman:\localhost\MaxTimeoutms 300000
 set-item wsman:\localhost\service\allowunencrypted $true
 set-item wsman:\localhost\service\auth\basic $true

然后在Chef工作站上运行以下命令

刀具引导程序-o winrm“ ip_address” -U“管理员” -P“密码” -N“ window_node”

答案 4 :(得分:0)

新的更新命令可引导Windows节点

knife bootstrap -o winrm IP-Address -N 'Node-Name' -U Domain-OR-Local-User -P 'Password'

节点名称:它将显示在Chef Automate控制台中

答案 5 :(得分:-1)

请检查您是否可以从工作站telnet到您尝试访问的节点。

可以通过在命令提示符下键入telnet来检查。

如果telnet未被识别为命令,请按照以下步骤操作:

  1. 右键点击“我的电脑”>管理>特征
  2. 点击“添加功能”
  3. 选择“Telnet客户端”
  4. 按“安装”按钮
  5. 安装需要一些时间。

    安装完成后,您可以从工作站的命令提示符到Chef节点执行相同的telnet

    telnet <ip_address> 5985 //5985 is the port you want to do telnet.