返回顶部
首页 > 资讯 > 操作系统 >Linux系统如何安装chef
  • 866
分享到

Linux系统如何安装chef

2023-06-28 14:06:07 866人浏览 独家记忆
摘要

这篇文章主要介绍linux系统如何安装chef,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!chef是一个服务器自动化构建工具。 是一个系统集成框架,为整个架构提供配置管理功能。Chef简介:Chef是,由Ruby开

这篇文章主要介绍linux系统如何安装chef,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

chef是一个服务器自动化构建工具。 是一个系统集成框架,为整个架构提供配置管理功能。

Chef简介:

  • Chef是,由Ruby开发服务器的构成管理工具

  • 通过Chef编写代码来管理服务器,而不是运行命令。

  • Chef与应用程序、数据库、LDAP目录等紧密集成。

  • 轻松地配置需要了解整个基础设施的应用程序

Linux系统安装Chef具体解决方案

下载 ChefDK

ChefDK是Chef Development Kit的缩写,它几乎用于所有的平台,包括基于Debian发行版、ubuntu、RedHat、CentosMac 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

安装 ChefDK

使用RPM安装刚刚下载的ChefDK

 # rpm -ivh chefdk-0.11.2-1.el7.x86_64.rpm Preparing...                          ################################# [100%] Updating / installing...    1:chefdk-0.11.2-1.el7              ################################# [100%] Thank you for installing Chef Development Kit!

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

 # ls -l /opt/chefdk/ drwxr-xr-x. 2 root root  4096 Mar  3 13:50 bin drwxr-xr-x. 7 root root    62 Mar  3 13:50 embedded -rw-r--r--. 1 root root 13249 Feb 22 14:26 version-manifest.JSON -rw-r--r--. 1 root root  8233 Feb 22 14:26 version-manifest.txt

验证ChefDK的安装

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

 # chef verify Running verification for component 'berkshelf' Running verification for component 'test-kitchen' Running verification for component 'tk-policyfile-provisioner' Running verification for component 'chef-client' Running verification for component 'chef-dk' Running verification for component 'chef-provisioning' Running verification for component 'chefspec' Running verification for component 'generated-cookbooks-pass-chefspec' Running verification for component 'rubocop' Running verification for component 'fauxhai' Running verification for component 'knife-spork' Running verification for component 'kitchen-vagrant' Running verification for component 'package installation' Running verification for component 'openssl' Running verification for component 'inspec' ....... --------------------------------------------- Verification of component 'test-kitchen' succeeded. Verification of component 'chef-dk' succeeded. Verification of component 'chefspec' succeeded. Verification of component 'rubocop' succeeded. Verification of component 'knife-spork' succeeded. Verification of component 'openssl' succeeded. Verification of component 'berkshelf' succeeded. Verification of component 'chef-client' succeeded. Verification of component 'fauxhai' succeeded. Verification of component 'inspec' succeeded. Verification of component 'tk-policyfile-provisioner' succeeded. Verification of component 'kitchen-vagrant' succeeded. Verification of component 'chef-provisioning' succeeded. Verification of component 'package installation' succeeded. Verification of component 'generated-cookbooks-pass-chefspec' succeeded.

下面是chef verify失败的案例。注意:Ruby在Chef中是必须的,它被嵌入在了ChefDK中。

 # chef verify .. /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/mixlib-shellout-2.2.6/lib/mixlib/shellout.rb:289:in `invalid!': Expected process to exit with [0], but received '1' (Mixlib::ShellOut::ShellCommandFailed) ---- Begin output of /usr/bin/ohai -v ---- STDOUT: STDERR: /opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'chef-config' (= 12.8.0) - did find: [chef-config-12.7.2] (Gem::LoadError)

以上错误信息显示:“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,显示验证成功。

验证ChefDK版本

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

 # chef --version Chef Development Kit Version: 0.11.2 chef-client version: 12.7.2 berks version: 4.2.0 kitchen version: 1.5.0

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

显示所有Chef设置的环境变量。

 chef shell-init bash

想要快速设置这些环境变量,可以将其添加到bash_profile文件中,如下所示。

 echo 'eval "$(chef shell-init bash)"' >> ~/.bash_profile

访问Chef的Firewalld规则

为了访问Chef服务器上的Chef Manage GUI,添加以下firewalld规则,开放Chef服务器上的相应端口。

 firewall-cmd --direct  --add-rule ipv4 \ filter INPUT_direct 0 -i eth0 -p tcp \  --dport 443 -j ACCEPT  firewall-cmd --direct  --add-rule ipv4 \ filter INPUT_direct 0 -i eth0 -p tcp \  --dport 80 -j ACCEPT  firewall-cmd --direct  --add-rule ipv4 \ filter INPUT_direct 0 -i eth0 -p tcp \  --dport 9683 -j ACCEPT  firewall-cmd --reload

从Chef Manage GUI下载Starter Kit

登录到Chef Manage GUI,单击“Administration”选项,从列表中选择“organization”。此例中,“organization”为“example”,选中organization之后,点击左侧菜单中的“Starter Kit”。 Linux系统如何安装chef

按下“Download(下载)”按钮之后,会跳出一个警告信息,按下“Proceed”,它会将chef-starter.zip文件下载到本地机器。

解压缩 Starter Kit

将chef-starter.zip文件传输到Chef工作站并解压到root的home目录下

 # cd ~ # unzip chef-starter.zip ArcHive:  chef-starter.zip    creating: chef-repo/cookbooks/    creating: chef-repo/cookbooks/starter/    creating: chef-repo/cookbooks/starter/templates/    creating: chef-repo/cookbooks/starter/templates/default/   inflating: chef-repo/cookbooks/starter/templates/default/sample.erb      creating: chef-repo/cookbooks/starter/files/    creating: chef-repo/cookbooks/starter/files/default/   inflating: chef-repo/cookbooks/starter/files/default/sample.txt      creating: chef-repo/cookbooks/starter/recipes/   inflating: chef-repo/cookbooks/starter/recipes/default.rb      creating: chef-repo/cookbooks/starter/attributes/   inflating: chef-repo/cookbooks/starter/attributes/default.rb     inflating: chef-repo/cookbooks/starter/metadata.rb     inflating: chef-repo/cookbooks/chefignore     inflating: chef-repo/README.md       inflating: chef-repo/.gitignore        creating: chef-repo/.chef/    creating: chef-repo/roles/   inflating: chef-repo/.chef/knife.rb     inflating: chef-repo/roles/starter.rb     inflating: chef-repo/.chef/ramesh.pem     inflating: chef-repo/.chef/example-validator.pem

如果你手动创建了chef-repo文件夹,那你就需要手动创建上述的子目录,复制knife.rb文件、organization-validator.pem文件(如:example-validator.pem)、username.pem文件(如:ramesh.pem)到上面显示的目录中。

Chef服务器的SSL证书

在这个阶段如果执行knife client list会得到以下错误信息

 # cd ~/chef-repo # knife client list ERROR: SSL Validation failure connecting to host: centos.example.com - SSL_connect returned=1 errno=0 state=error: certificate verify failed ERROR: Could not establish a secure connection to the server. Use `knife ssl check` to troubleshoot your SSL configuration. If your Chef Server uses a self-signed certificate, you can use `knife ssl fetch` to make knife trust the server's certificates.  Original Exception: OpenSSL::SSL::SSLError: SSL Error connecting to https://centos.example.com/organizations/example/clients - SSL_connect returned=1 errno=0 state=error: certificate verify failed

证书验证失败,因为我们没有从Chef服务器下载SSL证书,此时可以执行以下“knife ssl fetch”。

 # cd ~/chef-repo # knife ssl fetch WARNING: Certificates from centos.example.com will be fetched and placed in your trusted_cert directory (/root/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.

证书将会下载到以下truster_certs目录中

 # ls -l /root/chef-repo/.chef/trusted_certs -rw-r--r--. 1 root root 1379 Mar 20 20:17 centos_example_com.crt  # cat /root/chef-repo/.chef/trusted_certs/centos_example_com.crt -----BEGIN CERTIFICATE----- MIIDzDCCArSgAwIBAgIBADANBgkqhkiG9w0BAQsFADBRMQswCQYDVQQGEwJVUzEQ MA4GA1UECgwHWW91Q29ycDETMBEGA1UECwwKT3BlcmF0aW9uczEbMBkGA1UEAwwS ZXJhdGlvbnMxGzAZBgNVBAMMEmNlbnRvcy5leGFtcGxlLmNvbTCCASIwDQYJKoZI .. .. WLyr2ORLMcck/OGsubabO/koMNTqhl2JJPECNiDJh06MeZ/2+BOwGZSpXDbw+vFE NJAsLfsTzihGWZ58einMFA== -----END CERTIFICATE-----

Chef工作站的最终确认

如果Chef工作站工作正常,当你执行“knife client list”时,它会显示所有连接工作站的客户端。由于我们刚刚安装它,因此只能看到刚刚我们创建的组织(organization)

 # cd ~/chef-repo  # knife client list example-validator

如果你现有的Chef工作站机器上已经有5个服务器连接到它了,你会看到以下信息

 # knife client list example-validator node1 node2 node3 node4 node5

以上是“Linux系统如何安装chef”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: Linux系统如何安装chef

本文链接: https://lsjlt.com/news/320065.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux系统如何安装chef
    这篇文章主要介绍Linux系统如何安装chef,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!chef是一个服务器自动化构建工具。 是一个系统集成框架,为整个架构提供配置管理功能。Chef简介:Chef是,由Ruby开...
    99+
    2023-06-28
  • 在Linux上如何安装Chef工作站
    这篇文章跟大家分析一下“在Linux上如何安装Chef工作站”。内容详细易懂,对“在Linux上如何安装Chef工作站”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“在Linux上...
    99+
    2023-06-28
  • Linux下怎么安装Chef
    这篇文章主要介绍“Linux下怎么安装Chef”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下怎么安装Chef”文章能帮助大家解决问题。Chef 是一款自动化服务器配置管理工具,可以对所管...
    99+
    2023-06-28
  • Linux系统如何安装jq
    这篇文章将为大家详细讲解有关Linux系统如何安装jq,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jq 是一个轻量级而且灵活的命令行 JSON 解析器,类似用于 JSON 数据的 sed 工具,可以使用...
    99+
    2023-06-28
  • Linux系统如何安装NumPy
    这篇文章主要介绍了Linux系统如何安装NumPy,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux系统安装numpy具体步骤第一种是采用pip方式:这种方式下载太慢了...
    99+
    2023-06-28
  • Linux系统如何安装Kibana
    这篇文章主要介绍Linux系统如何安装Kibana,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Kibana 与 Elasticsearch 本身一样,如果你使用的是 Elasticsearch 的开源版本,那么必须...
    99+
    2023-06-28
  • Linux系统如何安装Yarn
    这篇文章给大家分享的是有关Linux系统如何安装Yarn的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux系统安装yarn具体步骤先要安装node.js,用 node -v 可以查看是否安装了node。 1...
    99+
    2023-06-28
  • Linux系统如何安装Elasticsearch
    这篇文章主要介绍了Linux系统如何安装Elasticsearch,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Elasticsearch 是一个分布式、RESTful 风格...
    99+
    2023-06-28
  • Linux系统如何安装FastDFS
    这篇文章主要介绍Linux系统如何安装FastDFS,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载...
    99+
    2023-06-28
  • Linux系统如何安装OTRS
    这篇文章给大家分享的是有关Linux系统如何安装OTRS的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。OTRS 是由 Open Ticket Request System 首字母缩略字而来。是以全球业界公认的 I...
    99+
    2023-06-28
  • Linux系统如何安装latex
    这篇文章将为大家详细讲解有关Linux系统如何安装latex,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。安装:一、texlive2018 的安装1、官网下载 :http://tug.org/texliv...
    99+
    2023-06-28
  • Linux系统如何安装KScope
    这篇文章主要为大家展示了“Linux系统如何安装KScope”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统如何安装KScope”这篇文章吧。KScope 是一款源代码阅读、编辑工具...
    99+
    2023-06-28
  • Linux系统如何安装glances
    这篇文章给大家分享的是有关Linux系统如何安装glances的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发...
    99+
    2023-06-28
  • Linux系统如何安装wireshark
    小编给大家分享一下Linux系统如何安装wireshark,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!作为一款高效免费的抓包工具,wireshark可以捕获并描...
    99+
    2023-06-28
  • Linux系统如何安装Erlang
    这篇文章将为大家详细讲解有关Linux系统如何安装Erlang,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的...
    99+
    2023-06-28
  • Linux系统如何安装Bugzilla
    这篇文章主要介绍Linux系统如何安装Bugzilla,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Bugzilla 是一个开源的缺陷跟踪系统(Bug-Tracking System),它可以管理软件开发中缺陷的提交...
    99+
    2023-06-28
  • Linux系统如何安装Snort
    小编给大家分享一下Linux系统如何安装Snort,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一步:预装daq所需程序snort使用数据采集器(daq)监听防...
    99+
    2023-06-28
  • Linux系统如何安装Ruby
    这篇文章主要为大家展示了“Linux系统如何安装Ruby”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统如何安装Ruby”这篇文章吧。Ruby在线安装  如果您的计算机已经连接到 I...
    99+
    2023-06-28
  • Linux系统如何安装activemq
    这篇文章主要为大家展示了“Linux系统如何安装activemq”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统如何安装activemq”这篇文章吧。Linux系统安装activem...
    99+
    2023-06-28
  • Linux系统如何安装httpd
    这篇文章将为大家详细讲解有关Linux系统如何安装httpd,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。httpd是一个开源软件,且一般用作web服务器来使用。目前最流行的web服务器软件叫做httpd...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作