在 Chef 服务器迁移后使用配方在 'client.rb' 更新 Chef chef_server_url

Chef Update chef_server_url at 'client.rb' using recipe after Chef Server migration

我想将我的旧 Chef 服务器移动到新服务器并且我已经成功备份服务器并将其恢复到新服务器并且我成功迁移了 1 台计算机(在 [=14 手动编辑 chef_server_url =]).

因为我有很多计算机由旧的 Chef Server 管理,所以我需要一种可扩展的方式来更新由该服务器管理的计算机的 client.rb 并将 chef_server_url 更新为新的 url

我的client.rb看起来像这样:

`chef_server_url  "https://myfirstdomain:1234"
validation_client_name "chef-validator"
file_cache_path   "c:/chef/cache"
file_backup_path  "c:/chef/backup"
cache_options     ({:path => "c:/chef/cache/checksums", :skip_expires => true})
node_name "mycomp"
log_level        :info
log_location       STDOUT
trusted_certs_dir "c:/chef/trusted_certs"
`

and I need to change it to this:

`chef_server_url  "https://seconddomain:1234"
validation_client_name "chef-validator"
file_cache_path   "c:/chef/cache"
file_backup_path  "c:/chef/backup"
cache_options     ({:path => "c:/chef/cache/checksums", :skip_expires => true})
node_name "mycomp"
log_level        :info
log_location       STDOUT
trusted_certs_dir "c:/chef/trusted_certs"
`

我尝试按照此处的说明进行操作: https://getchef.zendesk.com/hc/en-us/articles/206692583-Change-Hostname-of-Chef-Server 但是我没弄清楚如何执行此步骤:

"If you are using the chef-client cookbook to manage your nodes' client.rb file then you could try just setting the node['chef_client']['server_url'] attribute to the new hostname and test to see if the next chef-client run on a node properly changes the client.rb file AND restarts the chef-client service."

如提供的说明中所述,您需要使用chef-client食谱来应用此方法,它可以为您管理client.rb。您可以在所有节点上使用新服务器 url 和 运行 将配方上传到旧服务器。

如果你不想使用它,你可以考虑 运行ning knife winrm 用一些命令来代替 url。我不确定 windows.

上是否有某种 sed 替换