【问题标题】:How to restart a Windows VM using chef如何使用 Chef 重新启动 Windows VM
【发布时间】:2023-10-16 04:18:01
【问题描述】:

我的要求是在安装软件后重新启动 windows vm,我正在使用厨师自动化整个过程。有什么方法可以做到吗?

我们可以通过 power shell 来做吗?
厨师有什么方法吗?

【问题讨论】:

    标签: powershell knife chef-infra chef-windows


    【解决方案1】:

    windows 食谱提供了 reboot 资源。

    【讨论】:

    • 当我使用重启资源时,虚拟机实际上并没有重启,我收到以下错误 ERROR: WinRM::WinRMHTTPTransportError: Bad HTTP response returned from server (500)
    【解决方案2】:

    如上所述,请查看链接 windows cookbookwindows reboot。我所有的信息都是从之前的链接中收集的。

    在配方中包含 WindowsRebootHandler

    include_recipe 'windows::reboot_handler'
    

    创建重启块

    windows_reboot 30 do
      timeout 30
      reason 'Restarting computer in 30 seconds!'
      action :nothing
    end
    
    • 超时:重启前的超时延迟(秒)。默认为 60 秒
    • 原因:重启的原因。默认为“Opscode Chef 启动重启”

    通知重启块触发重启

    notifies :request, 'windows_reboot[30]', :delayed
    
    • :delayed - 通知排队并在厨师客户端运行的最后执行
    • :immediately - 立即运行通知

    【讨论】:

    • 当我使用重启资源时,虚拟机实际上并没有重启,我收到以下错误 ERROR: WinRM::WinRMHTTPTransportError: Bad HTTP response returned from server (500)
    • 似乎 WinRM 没有在目标服务器上正确设置,但在不知道您正在使用的 Chef 命令的情况下很难分辨。我之前已经解释过 Windows Chef 引导程序 here
    最近更新 更多