如何在Ubuntu 18上安装Chef?

学习如何在Ubuntu上安装Chef…

Chef是基于Ruby的配置管理工具。它用于自动化集群中所有节点的配置管理并保持一致性。Chef有三个主要组件。

  • Chef服务器
  • 工作站
  • 节点

所有的配置都从工作站管理,然后推送到chef服务器上。Chef服务器是所有基础设施配置的集中存储。Knife是工作站上的命令行工具,用于与Chef服务器进行交互。节点运行Chef客户端,它们从Chef服务器请求配置信息。

这是一个典型的Chef架构的样子:

现在让我们继续设置Chef服务器、工作站和节点(Chef客户端)。

环境详情

我使用了3个Ubuntu 18.04系统。一个将作为Chef服务器,下一个将作为工作站,第三个系统将作为节点。

Chef服务器

  • 主机名:chef-yaoweibin
  • IP地址:192.168.0.107

工作站

  • 主机名:workstation
  • IP地址:192.168.0.108

节点

  • 主机名:client-node
  • IP地址:192.168.0.109

在开始安装之前,我需要编辑所有系统的/etc/hosts文件,以便它们可以互相解析。在所有系统上编辑/etc/hosts文件,如下所示。

yaoweibin@chef-yaoweibin:~$ 
127.0.0.1 localhost 
127.0.1.1 yaoweibin 
192.168.0.107 chef-yaoweibin 
192.168.0.108 chef-workstation 
192.168.0.109 client-node

我将在这三个系统上运行以下命令来更新它们。

yaoweibin@chef-yaoweibin:~$ sudo apt update

[sudo] password for yaoweibin:

Hit:1 http://security.ubuntu.com/ubuntu cosmic-security InRelease

Get:2 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB]     

Hit:3 http://ppa.launchpad.net/ansible/ansible/ubuntu cosmic InRelease        

Hit:4 http://us.archive.ubuntu.com/ubuntu cosmic InRelease                    

Get:5 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages [9,594 B]

Hit:6 http://us.archive.ubuntu.com/ubuntu cosmic-updates InRelease            

Hit:7 http://us.archive.ubuntu.com/ubuntu cosmic-backports InRelease          

Get:8 http://apt.puppetlabs.com bionic InRelease [85.3 kB]                    

Get:9 http://apt.puppetlabs.com bionic/puppet6 amd64 Packages [32.4 kB]

Fetched 192 kB in 2s (84.6 kB/s)   

Reading package lists... Done

Building dependency tree      

Reading state information... Done

233 packages can be upgraded. Run 'apt list --upgradable' to see them.

Chef服务器安装

Chef服务器是架构中连接工作站和节点的组件。当工作站上的配置被编辑/更改时,它们被推送到chef服务器,所有节点从Chef服务器拉取这些配置更改。

现在,让我们运行下面的命令下载chef服务器软件包。

yaoweibin@chef-yaoweibin:~$ wget https://packages.chef.io/files/stable/chef-server/13.0.17/ubuntu/18.04/chef-server-core_13.0.17-1_amd64.deb

--2019-10-23 04:04:35-- https://packages.chef.io/files/stable/chef-server/13.0.17/ubuntu/18.04/chef-server-core_13.0.17-1_amd64.deb

Saving to: ‘chef-server-core_13.0.17-1_amd64.deb’

chef-server-core_13 100%[===================>] 240.58M 1.33MB/s in 6m 16s 

2019-10-23 04:10:51 (656 KB/s) - ‘chef-server-core_13.0.17-1_amd64.deb’ saved [252269838/252269838]

现在你需要运行以下命令安装chef服务器。

yaoweibin@chef-yaoweibin:~$ sudo dpkg -i chef-server-core_*.deb

chef-server-ctl是chef-server中的命令行实用程序。我将使用此实用程序启动chef-server服务。

yaoweibin@chef-yaoweibin:~$ sudo chef-server-ctl reconfigure

Running handlers:

Running handlers complete

Chef Infra Client finished, 481/1028 resources updated in 04 minutes 08 seconds

Chef Server Reconfigured!

您可以使用以下命令检查已启动的服务的状态。

yaoweibin@chef-yaoweibin:~$ sudo chef-server-ctl status

run: bookshelf: (pid 2452) 822s; run: log: (pid 29553) 951s

run: nginx: (pid 2318) 826s; run: log: (pid 30216) 908s

run: oc_bifrost: (pid 2296) 827s; run: log: (pid 29240) 996s

run: oc_id: (pid 2304) 826s; run: log: (pid 29308) 979s

run: opscode-erchef: (pid 2511) 822s; run: log: (pid 29707) 946s

run: opscode-expander: (pid 2416) 822s; run: log: (pid 29412) 958s

run: opscode-solr4: (pid 2393) 824s; run: log: (pid 29358) 964s

run: postgresql: (pid 2264) 827s; run: log: (pid 28769) 1021s

run: rabbitmq: (pid 3183) 792s; run: log: (pid 30476) 902s

run: redis_lb: (pid 30011) 926s; run: log: (pid 30010) 926s

创建用户和组织

Chef服务器连接工作站和客户端节点。为了链接它们,我将创建一个管理员和组织者,并使用他们的私钥。

首先,创建一个.chef目录来存储这些密钥。

yaoweibin@chef-yaoweibin:~$ mkdir .chef

现在,我将使用chef-server-ctl来创建一个用户。在下面的命令中,chefadmin是用户名,Chef是名字,GeekFlare是姓,[email protected]是电子邮件ID,yaoweibin是密码,chefadmin.pen是RSA密钥。

yaoweibin@chef-yaoweibin:~$ sudo chef-server-ctl user-create chefadmin Chef GeekFlare [email protected] 'yaoweibin' --filename ~/.chef/chefadmin.pem

让我们运行一个命令来检查chef服务器上用户列表。

yaoweibin@chef-yaoweibin:~$ sudo chef-server-ctl user-list

chefadmin

pivotal

现在,我将使用chef-server-ctl来创建一个组织。在下面的命令中,chef-org是组织名称,Geekflare Chef Infrastructure是完整的组织名称,chefadmin是我们刚刚创建的用户,chef-org.pem是RSA密钥。

yaoweibin@chef-yaoweibin:~$ sudo chef-server-ctl org-create chef-org "Geekflare Chef Infrastructure" --association_user chefadmin --filename ~/.chef/chef-org.pem

让我们运行一个命令来检查chef服务器上的组织列表。

yaoweibin@chef-yaoweibin:~$ sudo chef-server-ctl org-list

chef-org

我已经完全安装了chef服务器,接下来我们将安装工作站,在那里创建所有配置。

工作站

工作站是用户创建cookbook的地方。Cookbook实际上是创建运行特定任务的配置单元。

让我们运行下面的命令来下载chef工作站软件包。

yaoweibin@chef-workstation:~$ wget https://packages.chef.io/files/stable/chef-workstation/0.2.43/ubuntu/18.04/chef-workstation_0.2.43-1_amd64.deb

–2019-10-23 05:37:41– https://packages.chef.io/files/stable/chef-workstation/0.2.43/ubuntu/18.04/chef-workstation_0.2.43-1_amd64.deb

正在解析主机 packages.chef.io (packages.chef.io)… 151.101.194.110, 151.101.130.110, 151.101.66.110, …

正在连接 packages.chef.io (packages.chef.io)|151.101.194.110|:443… 已连接。

已发出 HTTP 请求,正在等待回应… 200 OK

长度:129713682 (124M) [application/x-debian-package]

正在保存至: “chef-workstation_0.2.43-1_amd64.deb”

chef-workstation_0.2.43-1_ 100%[=======================================>] 123.70M 2.37MB/s 总共耗时 4m 25s 

2019-10-23 05:42:18 (477 KB/s) – 已保存 “chef-workstation_0.2.43-1_amd64.deb” [129713682/129713682]

让我们运行dpkg命令在ubuntu系统上安装工作站。

yaoweibin@chef-workstation:~$ sudo dpkg -i chef-workstation_*.deb

选择以前未选择的软件包 chef-workstation。

(正在读取数据库 … 现有 273360 个文件和目录…)

正准备解包 chef-workstation_0.2.43-1_amd64.deb 。。。

正在解包 chef-workstation (0.2.43-1) 。。。

正在设置 chef-workstation (0.2.43-1) 。。。

要运行实验性的Chef工作站应用程序,请使用您的平台的软件包管理器安装这些依赖项:

               libgconf-2.so.4 => not found

然后,您可以通过运行“chef-workstation-app”来启动应用程序。

然后,该应用程序将在系统托盘中可用。

感谢您安装Chef工作站!

您可以在https://chef.sh/上找到一些入门提示。

现在,我将运行一个命令来创建一个包含所有烹饪书和其他文件的厨师存储库。

yaoweibin@chef-workstation:~$ chef generate repo chef-repo

Recipe: code_generator::repo

 * directory[/home/yaoweibin/chef-repo] action create

   – 正在创建目录 /home/yaoweibin/chef-repo

 * template[/home/yaoweibin/chef-repo/LICENSE] action create_if_missing

   – 正在创建文件 /home/yaoweibin/chef-repo/LICENSE

   – 正在将文件 /home/yaoweibin/chef-repo/LICENSE 中的内容从无更改为3c525c

   (由配置抑制差异输出)

 * cookbook_file[/home/yaoweibin/chef-repo/.chef-repo.txt] action create_if_missing

   – 正在创建文件 /home/yaoweibin/chef-repo/.chef-repo.txt

   – 正在将文件 /home/yaoweibin/chef-repo/.chef-repo.txt 中的内容从无更改为2bed28

   (由配置抑制差异输出)

 * cookbook_file[/home/yaoweibin/chef-repo/README.md] action create_if_missing

   – 正在创建文件 /home/yaoweibin/chef-repo/README.md

   – 正在将文件 /home/yaoweibin/chef-repo/README.md 中的内容从无更改为2b4f46

   (由配置抑制差异输出)

 * cookbook_file[/home/yaoweibin/chef-repo/chefignore] action create_if_missing

   – 正在创建文件 /home/yaoweibin/chef-repo/chefignore

   – 正在将文件 /home/yaoweibin/chef-repo/chefignore 中的内容从无更改为9e2ffd

   (由配置抑制差异输出)

 * remote_directory[/home/yaoweibin/chef-repo/cookbooks] action create_if_missing

   – 正在创建目录 /home/yaoweibin/chef-repo/cookbooks 

Recipe: code_generator::repo

 * cookbook_file[/home/yaoweibin/chef-repo/cookbooks/README.md] action create_if_missing

   – 正在创建文件 /home/yaoweibin/chef-repo/cookbooks/README.md

   – 正在将文件 /home/yaoweibin/chef-repo/cookbooks/README.md 中的内容从无更改为54b03d

   (由配置抑制差异输出)

 * execute[initialize-git] action run

   – 正在执行 git init .

 * template[/home/yaoweibin/chef-repo/.gitignore] action create_if_missing

   – 正在创建文件 /home/yaoweibin/chef-repo/.gitignore

   – 正在将文件 /home/yaoweibin/chef-repo/.gitignore 中的内容从无更改为11e5ee

   (由配置抑制差异输出)

现在我将创建/chef-repo/.chef目录,该目录将存储所有的knife配置和RSA密钥。

yaoweibin@chef-workstation:~$ mkdir ~/chef-repo/.chef

yaoweibin@chef-workstation:~$ cd chef-repo/ 

现在让我们生成RSA密钥对。我们生成这个密钥来验证工作站并获得对chef服务器的访问权限。

yaoweibin@chef-workstation:~/chef-repo$ ssh-keygen -b 4096

生成公钥/私钥RSA密钥对。

输入保存密钥的文件名(/home/yaoweibin/.ssh/id_rsa):

输入密钥的密码(没有密码则为空):

再次输入相同的密码:

您的身份已保存在/home/yaoweibin/.ssh/id_rsa中。

您的公钥已保存在/home/yaoweibin/.ssh/id_rsa.pub中。

密钥指纹为:

SHA256:oK/ZyLn+AOMj97F5Z0e1K5o1bxChyKx3ms4HvK06DxI yaoweibin@chef-yaoweibin

密钥的随机艺术图像为:

+---[RSA 4096]----+

| |

| . |

| o.. . . |

| .+.. . . |

| E .o S o . |

| . +..+ . o . |

|. = +..B .o. . |

| o =.&= =oooo |

| .&OB=oo o. |

+----[SHA256]-----+

现在将密钥从工作站复制到chef服务器。

yaoweibin@chef-workstation:~/chef-repo$ sudo ssh-copy-id [email protected]

/usr/bin/ssh-copy-id: INFO: 要安装的密钥的来源: "/home/yaoweibin/.ssh/id_rsa.pub"

/usr/bin/ssh-copy-id: INFO: 尝试使用新密钥登录以过滤已安装的密钥

/usr/bin/ssh-copy-id: INFO: 还有1个要安装的密钥--如果您现在收到提示,则是为了安装新密钥

[email protected]的密码:

添加的密钥数量: 1

现在尝试使用“ssh '[email protected]'”登录到机器上,

并检查确保只添加了您想要添加的密钥。

现在我将从chef服务器复制.pem文件(chefadmin.pem和chef-org.pem)到工作站。

yaoweibin@chef-workstation:~/chef-repo$ scp [email protected]:~/.chef/*.pem ~/chef-repo/.chef/

chefadmin.pem 100% 1674 105.1KB/s 00:00   

chef-org.pem 100% 1674 103.0KB/s 00:00

在工作站上检查.pem文件是否成功复制。

yaoweibin@chef-workstation:~/chef-repo$ ls ~/chef-repo/.chef

chefadmin.pem chef-org.pem

创建版本控制

在工作站上进行工作时,会对配置单元(cookbooks)进行许多更改和编辑,因此需要一个版本控制系统来跟踪这些更改。因此,让我们继续在工作站上使用Git创建一个版本控制系统。我将在chef-repo目录内创建一个git仓库。我将添加一个用户名和电子邮件来配置git。

yaoweibin@chef-workstation:~$ git config --global user.name yaoweibin

yaoweibin@chef-workstation:~$ git config --global user.email [email protected]

让我们在.gitignore文件中添加.chef目录。

yaoweibin@chef-workstation:~$ echo ".chef" > ~/chef-repo/.gitignore

现在我将从chef-repo目录运行add和commit git命令。

yaoweibin@chef-workstation:~$ cd ~/chef-repo

yaoweibin@chef-workstation:~/chef-repo$ git add .

yaoweibin@chef-workstation:~/chef-repo$ git commit -m “initial commit”

[master (root-commit) 99c8c11] initial commit

 16个文件已更改,插入了359个(+)

 创建模式100644 .chef-repo.txt

 创建模式100644 .gitignore

 创建模式100644 LICENSE

 创建模式100644 README.md

 创建模式100644 chefignore

 创建模式100644 cookbooks/README.md

 创建模式100644 cookbooks/example/README.md

 创建模式100644 cookbooks/example/attributes/default.rb

 创建模式100644 cookbooks/example/metadata.rb

 创建模式100644 cookbooks/example/recipes/default.rb

 创建模式100644 data_bags/README.md

 创建模式100644 data_bags/example/example_item.json

 创建模式100644 environments/README.md

 创建模式100644 environments/example.json

 创建模式100644 roles/README.md

 创建模式100644 roles/example.json

检查状态。

yaoweibin@chef-workstation:~/chef-repo$ git status

在分支master

无文件要提交,工作目录干净

生成您的第一个CookBook

现在工作站的安装已经完成,您可以开始在工作站上创建cookbooks。尝试在工作站上生成一个示例cookbook,并查看是否成功生成。

我将运行以下命令来生成一个cookbook。

yaoweibin@chef-workstation:~$ Chef generate cookbook yaoweibin_cookbook

正在生成cookbook yaoweibin_cookbook

- 确保正确的cookbook文件内容

- 将cookbook文件提交到Git

- 确保交付配置

- 确保正确的交付构建cookbook内容

- 将交付配置添加到功能分支

- 将构建cookbook添加到功能分支

- 将交付内容功能分支合并到主分支

您的cookbook已准备就绪。键入“cd yaoweibin_cookbook”进入它。

您可以运行几个命令来开始本地开发和测试您的cookbook。

键入“delivery local --help”以查看完整列表。

为什么不先编写一个测试呢?默认recipe的测试存储在:

test/integration/default/default_test.rb

如果您愿意立即开始,可以在以下位置找到默认recipe:

recipes/default.rb

生成chef-repo,然后转到chef-repo目录

yaoweibin@chef-workstation:~$ Chef generate app chef-repo

警告:命令 ‘chef generator app' 已被弃用,并将在下一个主要版本的Chef DK / Workstation(2019年4月)中删除

Recipe: code_generator::app

 * directory[/home/yaoweibin/chef-repo] action create (已是最新)

 * template[/home/yaoweibin/chef-repo/.kitchen.yml] action create

   – 创建新文件 /home/yaoweibin/chef-repo/.kitchen.yml

   – 将文件 /home/yaoweibin/chef-repo/.kitchen.yml 的内容从 none 更新为 ceae09

   (根据配置,显示的差异输出被抑制)

 * directory[/home/yaoweibin/chef-repo/test/integration/default] action create

   – 创建新目录 /home/yaoweibin/chef-repo/test/integration/default

 * template[/home/yaoweibin/chef-repo/test/integration/default/default_test.rb] action create_if_missing

   – 创建新文件 /home/yaoweibin/chef-repo/test/integration/default/default_test.rb

   – 将文件 /home/yaoweibin/chef-repo/test/integration/default/default_test.rb 的内容从 none 更新为 0f757b

   (根据配置,显示的差异输出被抑制)

 * template[/home/yaoweibin/chef-repo/README.md] action create

   – 将文件 /home/yaoweibin/chef-repo/README.md 的内容从 2b4f46 更新为 6401b8

   (根据配置,显示的差异输出被抑制)

 * directory[/home/yaoweibin/chef-repo/cookbooks] action create (已是最新)

 * directory[/home/yaoweibin/chef-repo/cookbooks/chef-repo] action create

   – 创建新目录 /home/yaoweibin/chef-repo/cookbooks/chef-repo

 * template[/home/yaoweibin/chef-repo/cookbooks/chef-repo/metadata.rb] action create

   – 创建新文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/metadata.rb

   – 将文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/metadata.rb 的内容从 none 更新为 e30be3

   (根据配置,显示的差异输出被抑制)

 * cookbook_file[/home/yaoweibin/chef-repo/cookbooks/chef-repo/chefignore] action create

   – 创建新文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/chefignore

   – 将文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/chefignore 的内容从 none 更新为 9e2ffd

   (根据配置,显示的差异输出被抑制)

 * cookbook_file[/home/yaoweibin/chef-repo/cookbooks/chef-repo/Berksfile] action create

   – 创建新文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/Berksfile

   – 将文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/Berksfile 的内容从 none 更新为 15e000

   (根据配置,显示的差异输出被抑制)

 * directory[/home/yaoweibin/chef-repo/cookbooks/chef-repo/recipes] action create

   – 创建新目录 /home/yaoweibin/chef-repo/cookbooks/chef-repo/recipes

 * template[/home/yaoweibin/chef-repo/cookbooks/chef-repo/recipes/default.rb] action create

   – 创建新文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/recipes/default.rb

   – 将文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/recipes/default.rb 的内容从 none 更新为 f56ecb

   (根据配置,显示的差异输出被抑制)

 * directory[/home/yaoweibin/chef-repo/cookbooks/chef-repo/spec/unit/recipes] action create

   – 创建新目录 /home/yaoweibin/chef-repo/cookbooks/chef-repo/spec/unit/recipes

 * cookbook_file[/home/yaoweibin/chef-repo/cookbooks/chef-repo/spec/spec_helper.rb] action create_if_missing

   – 创建新文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/spec/spec_helper.rb

   – 将文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/spec/spec_helper.rb 的内容从 none 更新为 1f80e1

   (根据配置,显示的差异输出被抑制)

 * template[/home/yaoweibin/chef-repo/cookbooks/chef-repo/spec/unit/recipes/default_spec.rb] action create_if_missing

   – 创建新文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/spec/unit/recipes/default_spec.rb

   – 将文件 /home/yaoweibin/chef-repo/cookbooks/chef-repo/spec/unit/recipes/default_spec.rb 的内容从 none 更新为 666a01

   (根据配置,显示的差异输出被抑制)

 * execute[initialize-git] action run

   – 执行 git init .

 * cookbook_file[/home/yaoweibin/chef-repo/.gitignore] action create

   – 将文件 /home/yaoweibin/chef-repo/.gitignore 的内容从 25558e 更新为 edcd62

   (根据配置,显示的差异输出被抑制)

配置Knife

Knife是一个用于管理节点、cookbooks和recipes的命令行工具。要配置Knife,创建一个config.rb文件,并将以下内容放入文件中,这些是Knife的配置。

yaoweibin@chef-workstation:~$ sudo gedit ~/chef-repo/.chef/config.rb
current_dir = File.dirname(__FILE__)

log_level :info

log_location STDOUT

node_name 'chefadmin'

client_key "chefadmin.pem"

validation_client_name 'chef-org-validator'

validation_key "chef-org-validator.pem"

chef_server_url 'https://chef-yaoweibin/organizations/chef-org'

cache_type 'BasicFile'

cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )

cookbook_path ["#{current_dir}/../cookbooks"]

现在进入chef-repo目录并复制SSL证书。

yaoweibin@chef-workstation:~$ cd chef-repo

yaoweibin@chef-workstation:~/chef-repo$ knife ssl fetch

WARNING: Certificates from chef-yaoweibin will be fetched and placed in your trusted_cert

directory (/home/yaoweibin/chef-repo/.chef/trusted_certs).

Knife has no means to verify these are the correct certificates. You should

verify the authenticity of these certificates after downloading.

Adding certificate for chef-yaoweibin in /home/yaoweibin/chef-repo/.chef/trusted_certs/chef-yaoweibin.crt

要检查config.rb是否设置正确,请运行以下命令。

yaoweibin@chef-workstation:~/chef-repo$ knife client list

chef-org-validator

引导一个节点

引导从工作站机器运行,并在节点上安装chef-client。然后,节点可以通过使用客户端节点的用户名和密码从chef服务器读取配置来引导节点。

现在我将使用IP地址192.168.0.109、用户名yaoweibin和密码yaoweibin.org来引导一个节点。

yaoweibin@chef-workstation:~/chef-repo/.chef$ knife bootstrap 192.168.0.109 -x yaoweibin -P yaoweibin.org –node-name yaoweibin-client-1

为yaoweibin-client-1创建新客户端

为yaoweibin-client-1创建新节点

连接到192.168.0.109

192.168.0.109 —–> 安装Chef Omnibus (-v 14)

192.168.0.109 下载https://omnitruck-direct.chef.io/chef/install.sh

将其保存到文件/tmp/install.sh.9250/install.sh

192.168.0.109 正在尝试使用wget…

192.168.0.109 ubuntu 18.10 x86_64

192.168.0.109 获取ubuntu上Chef stable 14的信息…

192.168.0.109 下载https://omnitruck-direct.chef.io/stable/chef/metadata?v=14&p=ubuntu&pv=18.10&m=x86_64

将其保存到文件/tmp/install.sh.9261/metadata.txt

192.168.0.109 正在尝试使用wget…

192.168.0.109 sha1 534bae390bde3bd9d93bef99335f62246624f32b

192.168.0.109 sha256 94bc60b3a97ddadf77a70c7678ec77a676942c74f8152a2c70a0f5b68e22a42e

192.168.0.109 url https://packages.chef.io/files/stable/chef/14.14.25/ubuntu/18.04/chef_14.14.25-1_amd64.deb

192.168.0.109 版本 14.14.25

192.168.0.109 下载的元数据文件看起来有效…

192.168.0.109 正在下载https://packages.chef.io/files/stable/chef/14.14.25/ubuntu/18.04/chef_14.14.25-1_amd64.deb

将其保存到文件/tmp/install.sh.9261/chef_14.14.25-1_amd64.deb

192.168.0.109 正在尝试使用wget…

192.168.0.109 使用sha256sum比较校验和…

192.168.0.109 安装Chef 14

192.168.0.109 使用dpkg进行安装…

192.168.0.109 正在选择以前未选择的软件包chef。

(正在读取数据库…当前已安装204803个文件和目录。)

192.168.0.109 正在准备解包…/chef_14.14.25-1_amd64.deb …

192.168.0.109 正在解包chef (14.14.25-1) …

192.168.0.109 正在设置chef (14.14.25-1) …

192.168.0.109 感谢您安装Chef Infra Client!欢迎访问https://learn.chef.io获取帮助开始使用。

192.168.0.109 开始第一个Chef Client运行…

192.168.0.109 开始Chef Client,版本14.14.25

192.168.0.109 解析运行列表的烹饪书…

192.168.0.109 同步烹饪书:

192.168.0.109 安装烹饪书宝石:

192.168.0.109 编译烹饪书…

192.168.0.109 [2019-10-23T10:52:57-04:00] 警告:节点yaoweibin-client-1的运行列表为空。

192.168.0.109 收敛0个资源

192.168.0.109

192.168.0.109 运行处理程序:

192.168.0.109 运行处理程序完成

192.168.0.109 Chef Client完成,07秒内更新了0/0个资源

现在我将列出所有引导引导程序的节点

yaoweibin@chef-workstation:~/chef-repo/.chef$ knife node list

yaoweibin-client-1

运行以下命令以获取节点的详细信息。

yaoweibin@chef-workstation:~/chef-repo/.chef$ knife node show yaoweibin-client-1

节点名称:yaoweibin-client-1

环境:_default

FQDN:client-node

IP:192.168.0.109

运行列表:   

角色:      

食谱:    

平台:ubuntu 18.10

标签:

现在设置完成!

我们已成功在Ubuntu上安装了Chef服务器、工作站和节点。您可以继续使用Chef创建配置管理基础设施的食谱和烹饪书。

如果您是绝对的初学者,那么您可能会喜欢参考此Udemy course

类似文章