温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样安装Chef配置管理工具

发布时间:2026-01-01 14:19:58 来源:亿速云 阅读:90 作者:小樊 栏目:系统运维

Chef 安装与快速上手指南

一 架构与准备

  • 核心组件与术语
    • Chef Server:配置与策略的中央存储与 API 服务。
    • Chef Workstation:开发与管理工具链(如 knife、Cookbook 工具等)所在机器。
    • Chef Node:被管理节点,运行 chef-client 拉取并执行配置。
  • 环境与网络
    • 建议使用 FQDN(可通过 /etc/hostsDNS 解析),并确保 NTP 时间同步
    • 开放 80/443(必要时 22)以便控制台与客户端通信。
    • 准备一台作为 Server,一台作为 Workstation,若干台作为 Node。

二 安装 Chef Server

  • Ubuntu/Debian
    • 安装核心包并初始化:
      curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P chef-server -c stable
      sudo chef-server-ctl reconfigure
      sudo chef-server-ctl status
      
  • RHEL/CentOS
    • 下载并安装 RPM,然后初始化:
      wget https://packages.chef.io/files/stable/chef-server/14.14.1/el/8/chef-server-core-14.14.1-1.el7.x86_64.rpm
      sudo rpm -ivh chef-server-core-*.rpm
      sudo chef-server-ctl reconfigure
      sudo chef-server-ctl start
      sudo chef-server-ctl status
      
  • 创建管理员与组织(保存私钥到安全位置)
    sudo chef-server-ctl user-create admin Admin Admin admin@example.com 'P@ssw0rd!' -f /root/admin.pem
    sudo chef-server-ctl org-create myorg "My Org" --association_user admin -f /root/myorg-validator.pem
    
  • 防火墙(示例)
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    
  • 验证
    sudo chef-server-ctl status    # 查看组件运行状态
    

以上步骤完成 Server 部署与基础身份创建,后续 Workstation 与 Node 将使用 admin.pemmyorg-validator.pem 进行认证。

三 安装 Chef Workstation

  • 安装方式
    • Ubuntu/Debian
      wget https://packages.chef.io/files/stable/chef-workstation/21.10.640/ubuntu/20.04/chef-workstation_21.10.640-1_amd64.deb
      sudo dpkg -i chef-workstation_*.deb
      
    • RHEL/CentOS
      wget https://packages.chef.io/files/stable/chef-workstation/0.11.2-1.el7.x86_64.rpm
      sudo rpm -ivh chefdk-0.11.2-1.el7.x86_64.rpm
      
  • 验证与初始化
    chef verify                  # 验证工具链完整性
    chef generate repo chef-repo # 初始化本地仓库
    
  • 配置 Knife
    • 将 Server 上的私钥复制到 Workstation 仓库的 chef-repo/.chef/(如 admin.pemmyorg-validator.pem)。
    • 生成 knife 配置并测试连通性:
      cd chef-repo
      knife configure --initial
      knife user list
      knife client list
      

至此,Workstation 可与 Server 通信,后续可在此开发、上传与推送配置。

四 安装 Chef Node 并纳管

  • 安装 Node 上的 chef-client
    • Ubuntu/Debian
      sudo apt-get update
      sudo apt-get install chef
      
    • RHEL/CentOS
      sudo yum install chef
      
    • 或直接使用官方安装脚本(会自动安装 chef-client):
      curl https://omnitruck.chef.io/install.sh | sudo bash
      
  • 从 Workstation 引导纳管(Bootstrap)
    knife bootstrap NODE_IP -x USER -P PASSWORD -N node01 \
      --server-url https://chef.example.com/organizations/myorg \
      --validation-client-name myorg-validator \
      --node-ssl-verify-api-cert false
    
  • 验证
    knife node list
    knife node show node01
    
  • 在 Node 上直接执行一次收敛
    sudo chef-client
    

以上完成 Node 安装、注册与首次配置收敛。

五 快速验证与最小示例

  • 在 Workstation 创建并上传一个最小化 Cookbook
    cd chef-repo
    chef generate cookbook hello_chef
    cat > hello_chef/recipes/default.rb <<'EOF'
    package 'nginx' do
      action :install
    end
    
    service 'nginx' do
      action [:enable, :start]
    end
    
    file '/var/www/html/index.html' do
      content '<h1>Hello Chef</h1>'
      owner 'root'
      group 'root'
      mode '0644'
    end
    EOF
    
    knife cookbook upload hello_chef
    knife node run_list add node01 recipe[hello_chef::default]
    
  • 在 Node 上应用
    sudo chef-client
    
  • 验证
    curl http://NODE_IP
    

该示例会在 Node 上安装 Nginx 并放置首页,验证 Chef 从 Server 到 Node 的端到端配置流程。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI