多语言展示
当前在线:849今日阅读:2今日分享:38

在Linux上安装Chef工作站

Chef是一个IT基础设施自动化软件,它可以管理你组织中所有的服务器和网络设备。当我们想与Chef服务器、任何物理节点(服务器、网络设备等)的基础设施进行交互时,我们需要一个Chef工作站。本教程解释如何安装和配置Linux服务器上Chef工作站,更多技术资讯请访问 linux就该这么学。
工具/原料

一台安装Centos6或这Centos7的操作系统

方法/步骤
1

下载 ChefDKChefDK是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

2

安装 ChefDK使用RPM安装刚刚下载的ChefDK

3

ChefDK默认安装到/opt/chefdk目录下,如下所示

4

验证ChefDK的安装执行chef verify,验证所有来自ChefDK的不同组件,确保他们都工作正常,没有任何问题

5

下面是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,显示验证成功。

6

验证ChefDK版本执行 chef -version命令,显示ChefDK的版本号以及所有附带组件

7

设置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'

8

显示所有Chef设置的环境变量。chef shell-init bash想要快速设置这些环境变量,可以将其添加到bash_profile文件中,如下所示。echo 'eval '$(chef shell-init bash)'' >> ~/.bash_profile

9

访问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个服务器连接到它了,你会看到以下信息

推荐信息