在Linux上安装Chef工作站
Chef是一个IT基础设施自动化软件,它可以管理你组织中所有的服务器和网络设备。当我们想与Chef服务器、任何物理节点(服务器、网络设备等)的基础设施进行交互时,我们需要一个Chef工作站。本教程解释如何安装和配置Linux服务器上Chef工作站,更多技术资讯请访问 linux就该这么学。
操作方法
- 01
下载 ChefDK ChefDK是Chef Development Kit的缩写,它几乎用于所有的平台,包括基于Debian发行版、Ubuntu、RedHat、CentOS、Mac OS X和Windows。当前ChefDK的稳定版本是0.11.2,对于基于RHEL的系统,它可用于版本 6 和 7(如: CentOS 6 和 CentOS 7),RPM版本只有64位版本。 使用以下命令下载ChefDK在CentOS 7上 cd ~ wget https://packages.chef.io/stable/el/7/chefdk-0.11.2-1.el7.x86_64.rpm 在CentOS 6上 cd ~ wget https://packages.chef.io/stable/el/6/chefdk-0.11.2-1.el6.x86_64.rpm
- 02
安装 ChefDK 使用RPM安装刚刚下载的ChefDK
- 03
ChefDK默认安装到/opt/chefdk目录下,如下所示
- 04
验证ChefDK的安装 执行chef verify,验证所有来自ChefDK的不同组件,确保他们都工作正常,没有任何问题
- 05
下面是chef verify失败的案例。 注意:Ruby在Chef中是必须的,它被嵌入在了ChefDK中。 以下错误信息显示:“Could not find ‘chef-config’ (= 12.8.0) – did find: [chef-config-12.7.2] (Gem::LoadError)”,在安装的ChefDK中chef-config的版本是12.7.2的旧版本,在手动安装chef-confg 12.8.0版本后再执行chef verify,显示验证成功。
- 06
验证ChefDK版本 执行 chef -version命令,显示ChefDK的版本号以及所有附带组件
- 07
设置Chef 环境变量 设置Chef相关的环境变量,如:GEM_ROOT GEM_HOME GEM_PATH。 export GEM_ROOT="/opt/chefdk/embedded/lib/ruby/gems/2.1.0" export GEM_HOME="/root/.chefdk/gem/ruby/2.1.0" export GEM_PATH="/root/.chefdk/gem/ruby/2.1.0:/opt/chefdk/embedded/lib/ruby/gems/2.1.0" 此外,如果你的系统上已经安装了ruby,你需要更新与ruby相关的PATH变量,如下所示 export PATH="/opt/chefdk/bin:/root/.chefdk/gem/ruby/2.1.0/bin:/opt/chefdk/embedded/bin:/opt/chefdk/bin:/root/.chefdk/gem/ruby/2.1.0/bin:/opt/chefdk/embedded/bin:/opt/chefdk/bin:/root/.chefdk/gem/ruby/2.1.0/bin:/opt/chefdk/embedded/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
- 08
显示所有Chef设置的环境变量。 chef shell-init bash 想要快速设置这些环境变量,可以将其添加到bash_profile文件中,如下所示。 echo 'eval "$(chef shell-init bash)"' >> ~/.bash_profile
- 09
访问Chef的Firewalld规则 为了访问Chef服务器上的Chef Manage GUI,添加以下firewalld规则,开放Chef服务器上的相应端口。
- 10
从Chef Manage GUI下载Starter Kit 登录到Chef Manage GUI,单击“Administration”选项,从列表中选择“organization”。此例中,“organization”为“example”,选中organization之后,点击左侧菜单中的“Starter Kit”。 按下“Download(下载)”按钮之后,会跳出一个警告信息,按下“Proceed”,它会将chef-starter.zip文件下载到本地机器。
- 11
解压缩 Starter Kit 将chef-starter.zip文件传输到Chef工作站并解压到root的home目录下 如果你手动创建了chef-repo文件夹,那你就需要手动创建上述的子目录,复制knife.rb文件、organization-validator.pem文件(如:example-validator.pem)、username.pem文件(如:ramesh.pem)到下图显示的目录中。
- 12
Chef服务器的SSL证书 在这个阶段如果执行knife client list会得到以下错误信息
- 13
证书验证失败,因为我们没有从Chef服务器下载SSL证书,此时可以执行以下“knife ssl fetch”。
- 14
证书将会下载到以下truster_certs目录中
- 15
Chef工作站的最终确认 如果Chef工作站工作正常,当你执行“knife client list”时,它会显示所有连接工作站的客户端。由于我们刚刚安装它,因此只能看到刚刚我们创建的组织(organization)
- 16
如果你现有的Chef工作站机器上已经有5个服务器连接到它了,你会看到以下信息