我想将旧的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服务。”
答案 0 :(得分:1)
如提供的说明中所述,您需要使用chef-client食谱来应用此方法,它可以为您管理client.rb。您可以使用新的服务器URL将配方上传到旧服务器,然后在所有节点上运行它。
如果您不想使用它,则可以考虑使用某些命令来运行knife winrm
来替换url。我不确定Windows是否可以进行sed
的替换。