Chef 安装与快速上手指南
一 架构与准备
/etc/hosts 或 DNS 解析),并确保 NTP 时间同步。二 安装 Chef Server
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
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.pem 与 myorg-validator.pem 进行认证。
三 安装 Chef Workstation
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
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 # 初始化本地仓库
cd chef-repo
knife configure --initial
knife user list
knife client list
至此,Workstation 可与 Server 通信,后续可在此开发、上传与推送配置。
四 安装 Chef Node 并纳管
sudo apt-get update
sudo apt-get install chef
sudo yum install chef
curl https://omnitruck.chef.io/install.sh | sudo bash
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
sudo chef-client
以上完成 Node 安装、注册与首次配置收敛。
五 快速验证与最小示例
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]
sudo chef-client
curl http://NODE_IP
该示例会在 Node 上安装 Nginx 并放置首页,验证 Chef 从 Server 到 Node 的端到端配置流程。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。