Chef – 客户端设置

Chef – 客户端设置


为了让 Chef 节点与 Chef 服务器进行通信,您需要在该节点上设置 Chef 客户端。

厨师客户

这是 Chef 节点的关键组件之一,它从 Chef 服务器检索食谱并在节点上执行它们。它也称为 Chef 配置器。

在这里,我们将使用 Vagrant 来管理 VM。Vagrant 还可以使用配置程序(例如 Shell 脚本、Chef 和 Puppet)进行配置,以使 VM 进入所需的状态。在我们的例子中,我们将使用 Vagrant 来管理虚拟机,使用 VirtualBox 和 Chef 客户端作为供应商。

第 1 步– 从https://www.virtualbox.org/wiki/downlod下载并安装 VirtualBox

第 2 步– 在http://downloads.vagrantup.com下载并安装 Vagrant

第 3 步– 安装 Vagrant Omnibus 插件,使 Vagrant 能够在 VM 上安装 Chef 客户端。

$ vagrant plugin install vagrant-omnibus 

创建和启动虚拟

第 1 步– 我们可以从 Opscode vagrant repo 下载所需的 Vagrant 框。从以下 URL https://opscode-vmbento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box下载 opscode-ubuntu-12.04 框

第 2 步– 获得 Vagrant 文件后,下载编辑 Vagrant 文件所需的路径。

vipin@laptop:~/chef-repo $ subl Vagrantfile 
Vagrant.configure("2") do |config| 
   config.vm.box = "opscode-ubuntu-12.04" 
   config.vm.box_url = https://opscode-vm-bento.s3.amazonaws.com/ 
   vagrant/opscode_ubuntu-12.04_provisionerless.box 
   config.omnibus.chef_version = :latest  
   config.vm.provision :chef_client do |chef| 
      chef.provisioning_path = "/etc/chef" 
      chef.chef_server_url = "https://api.opscode.com/ 
      organizations/<YOUR_ORG>" 
      chef.validation_key_path = "/.chef/<YOUR_ORG>-validator.pem"
      chef.validation_client_name = "<YOUR_ORG>-validator" 
      chef.node_name = "server" 
   end 
end 

在上述程序中,您需要使用正确或所需的组织名称更新 <YOUR_ORG> 名称。

步骤 3 – 配置后的下一步是启动 vagrant 框。为此,您需要移动到 Vagrant 框所在的位置并运行以下命令。

$ vagrant up

步骤 4 – 机器启动后,您可以使用以下命令登录机器。

$ vagrant ssh

在上面的命令中,vagrantfile 是用 Ruby 域特定语言 (DSL) 编写的,用于配置 vagrant 虚拟机。

在 vagrant 文件中,我们有配置对象。Vagrant 将使用这个配置对象来配置 VM。

Vagrant.configure("2") do |config| 
……. 
End

在配置块中,您将告诉 vagrant 要使用哪个 VM 映像,以便引导节点。

config.vm.box = "opscode-ubuntu-12.04" 
config.vm.box_url = https://opscode-vm-bento.s3.amazonaws.com/ 
   vagrant/opscode_ubuntu-12.04_provisionerless.box

在下一步中,您将告诉 Vagrant 下载综合插件。

config.omnibus.chef_version = :latest

选择要启动的 VM 框后,配置如何使用 Chef 配置该框。

config.vm.provision :chef_client do |chef| 
….. 
End 

在其中,您需要设置有关如何将虚拟节点连接到 Chef 服务器的说明。你需要告诉 Vagrant 你需要在节点上存储所有 Chef 的东西。

chef.provisioning_path = "/etc/chef" 

觉得文章有用?

点个广告表达一下你的爱意吧 !😁