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

时间:2018-08-21 16:00:24

标签: chef knife

我想将旧的Chef服务器移动到新服务器,并且已经成功备份该服务器并将其还原到新服务器,并且成功迁移了1台计算机(手动编辑了chef_server_url上的client.rb )。

因为我有很多由旧Chef服务器管理的计算机,所以我需要一种可扩展的方式来更新此服务器管理的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 但是我不知道如何执行此步骤:

  

”“如果您正在使用Chef-Client Cookbook管理节点的   client.rb文件,那么您可以尝试仅设置   新主机名的node ['chef_client'] ['server_url']属性和   测试以查看在节点上运行的下一个Chef客户端是否正确更改了   client.rb文件,然后重新启动Chef-client服务。”

1 个答案:

答案 0 :(得分:1)

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

如果您不想使用它,则可以考虑使用某些命令来运行knife winrm来替换url。我不确定Windows是否可以进行sed的替换。