如何更新chef-client版本?

Mar*_*niz 20 chef-infra

我有一个厨师客户正在运行厨师11.4.0,这意味着,当我在机器上运行厨师时,它说Starting Chef Client, version 11.4.0.我知道最新的厨师宝石是11.8.0(本地knife --version给我Chef: 11.8.0),我想在客户端运行最新版本,但我找不到任何标准的方法来做到这一点.

对不起,如果这个问题没有多大意义,可能是因为我对整个厨师的理解并不准确.

编辑:我试图让到客户机并运行sudo apt-get update ; sudo apt-get install chef在提到https://wiki.opscode.com/display/chef/Using+Chef+to+Upgrade+Chef但它说,它已经是最新版本.

Mar*_*nor 29

以下适用于我:

$ chef-client -version
Chef: 11.4.0

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

$ chef-client -version
Chef: 11.8.0
Run Code Online (Sandbox Code Playgroud)

下载的"install.sh"脚本将确定正确的操作系统并下载适用于您的平台的相应软件包.(这些包都可以从S3存储库获得)

另请参阅Chef站点的安装页面 ..

更新

knife ssh 'name:[* TO *]' 'curl -L https://www.opscode.com/chef/install.sh | sudo bash'
Run Code Online (Sandbox Code Playgroud)

如果您坐在公司防火墙后面,可以下载适用于您的平台的软件包并将其安装到软件包存储库中.您不必使用纯粹为了方便而使用的"install.sh"脚本.

  • 我们使用这种技术,但也明确包含我们要安装的版本,这是受支持的.我们做的curl命令是:curl -LO https://www.opscode.com/chef/install.sh&& sudo bash ./install.sh -v 11.8.2 (7认同)
  • 我明白了,但这是更新厨师版的正确程序吗?我的意思是,厨师结构作为一个整体使得有必要在某些时候ssh到客户端并手动更新厨师版本,如你所描述的?我认为有更好的机制. (2认同)

Zau*_*aur 12

该脚本需要参数.所以你也可以运行它:

(echo "version=11.12.8"; curl -L https://www.opscode.com/chef/install.sh) | sudo bash
Run Code Online (Sandbox Code Playgroud)

安装特定版本