如何从一个厨师服务器迁移到另一个厨师服务器

时间:2015-03-02 09:41:48

标签: chef knife

我有一个现有的厨师服务器设置,其中注册了大约300个节点。 现在我想转移到另一个带有更新版本的厨师服务器。但是我不确定如何将所有节点和其他数据从旧的chef-server迁移到更新的.-

1 个答案:

答案 0 :(得分:2)

此处有多个步骤,您需要提供一些信息以便更好地回答您的问题。

假设

  1. 您的节点是Linux节点,您仍在使用Chef 11 版。
  2. 您的新厨师服务器拥有所有烹饪书,角色和数据 袋子和环境从您的旧厨师服务器移过来。
  3. 步骤

    a)首先确保您已经清点了当前的厨师设置,以便了解所有节点名称以及每个节点应用的运行列表。

    b)SSH进入要移动的节点并删除/etc/chef/client.pem

    c)现在登录到新的Chef服务器并使用/etc/chef/chef-validator.pem内容中的私钥在客户端计算机上创建/etc/chef/validation.pem。

    d)编辑/etc/client.rb并将chef_server_url更改为您的新厨师服务器。

    现在在客户端计算机上运行chef-client。这将从新服务器创建一个新的客户端标识,您应该会看到您的客户端名称出现在您的厨师服务器中,这是新Chef服务器的/ clients列表。

    但你还没有脱离杂草,因为: i)你的客户运行列表将是空的 ii)此客户端尚未出现在新服务器的/ nodes列表中。

    d)所以你需要使用

    knife node create NODE_NAME
    
    来自工作站的

    命令命名节点并将其记录在新的Chef服务器数据库中。

    然后使用

    knife node run_list add NODE_NAME RUN_LIST_ITEM(s) 
    

    为每个框重新创建运行列表。

    然后使用

    knife node environment_set NODE_NAME ENVIRONMENT_NAME
    

    为每个节点设置环境。

    现在在节点上运行chef-client,您应该在/ nodes中看到具有您分配的运行列表和环境的节点。您还应该在状态选项卡中看到具有最近最后登记时间的节点。

    是。你必须这样做300次。流。