戴尔官方工具制作恢复教程外星人采用与
94 2024-04-20
IT专业人员的配置管理和自动化工具设置和配置Chef
Chef 是面向 IT 专业人员的配置管理和手动化工具,用于配置和管理您的基础设施(设备),无论是在本地还是在云端。 它可用于加速应用程序部署并协调多个系统管理员和开发人员的工作,包括支持大型客户群的成百上千台服务器和程序。 Chef 最适合将基础设施转化为代码。 掌握 Chef 后,您可以获得一流的网络 IT 支持,以手动管理您的云基础设施或最终用户。
以下是我们将在本文中设置和配置的 Chef 的主要组件。
安装 Chef 的要求和版本
下面我们将在基础环境中搭建Chef配置管理系统。
管理和配置工具:Chef
基础操作系统
14.04.1LTS()
厨师
12.1.0
厨师
1.17.0
厨师套装
0.6.2
显存和CPU
4GB, 2.0+2.0GHz
Chef 服务器的安装和配置
Chef 服务器是存储配置和其他与工作站交互的配置数据的核心组件。 让我们从他们的官方网站下载最新的安装文件。
我使用下面的命令来下载并安装它。
1)下载Chef服务器
root@ubuntu-14-chef:/tmp# wget https://web-dl.packagecloud.io/chef/stable/packages/ubuntu/trusty/chef-server-core_12.1.0-1_amd64.deb
2)安装厨师服务器
root@ubuntu-14-chef:/tmp# dpkg -i chef-server-core_12.1.0-1_amd64.deb
3)重新配置Chef服务器
现在运行下面的命令来启动所有的 Chef 服务器服务,这一步似乎需要一些时间,因为它需要许多不同的服务一起工作才能形成一个正常运行的系统。
root@ubuntu-14-chef:/tmp# chef-server-ctl reconfigure
Chef 服务器启动命令“chef --ctl”需要运行两次,以便您在安装后听到这样的输出。
Chef Client finished, 342/350 resources updated in 113.71139964 seconds opscode Reconfigured!
4)重启系统
安装完成后重启系统,使系统发挥最佳性能,否则我们在创建用户时可能会看到如下SSL连接错误。
ERROR: Errno::ECONNRESET: Connection reset by peer - SSL_connect
5)创建新的管理员
运行以下命令以创建新的管理员帐户及其配置。 创建过程中会手动生成用户的RSA公钥,需要将其保存在安全的地方。 --file 选项会将 RSA 公钥保存到指定路径。
root@ubuntu-14-chef:/tmp# chef-server-ctl user-create kashi kashi kashi kashif.fareedi@gmail.com kashi123 --filename /root/kashi.pem
Chef 服务器管理设置
Chef 是面向企业级 Chef 用户的管理控制台,它提供可视化的 Web 用户界面来管理节点、包、规则、环境和基于角色的访问控制 (RBAC)。
1) 下载大厨
复制官网链接,下载chef安装包。
root@ubuntu-14-chef:~# wget https://web-dl.packagecloud.io/chef/stable/packages/ubuntu/trusty/opscode-manage_1.17.0-1_amd64.deb
2)安装厨师
使用下面的命令将它安装在 root 的主目录中。
root@ubuntu-14-chef:~# chef-server-ctl install opscode-manage --path /root
3)重启厨师和服务器
安装完成后,我们需要运行以下命令重启chef和服务器。
root@ubuntu-14-chef:~# opscode-manage-ctl reconfigure root@ubuntu-14-chef:~# chef-server-ctl reconfigure
厨师网络控制台
我们可以使用或其域名访问web控制台,使用之前创建的管理员登录
1)Chef创建一个新组织
您似乎被要求创建一个新组织ubuntu 安装包管理界面,或者可以接受其他组织的提议。 使用缩写和全名创建一个新组织,如下所示。
2)用命令行创建一个新组织
我们也可以运行以下命令来创建一个新的组织。
root@ubuntu-14-chef:~# chef-server-ctl org-create linux Linoxide Linux Org. --association_user kashi --filename linux.pem
设置工作站
我们已经完成了chef服务器的安装,现在我们可以开始创建任意(基础配置元素)、(基础配置集)、(节点属性),并进行一些其他的更改。
1)在Chef服务器上新建用户和组织
为了设置工作站,我们需要使用命令行创建一个新的用户和组织。
root@ubuntu-14-chef:~# chef-server-ctl user-create bloger Bloger Kashif bloger.kashif@gmail.com bloger123 --filename bloger.pem root@ubuntu-14-chef:~# chef-server-ctl org-create blogs Linoxide Blogs Inc. --association_user bloger --filename blogs.pem
2) 下载工作站入门套件
在工作站的Web 上下载并保存 Kit,用于与服务器协同工作
3)下载包后,点击“”
工作站的 Chef 开发套件设置
Chef Kit 是一个包,其中包含开发 Chef 所需的所有工具。 它将 Chef 开发的工具与 Chef 客户端捆绑在一起。
1)下载
我们可以从其官网链接下载开发包,选择操作系统下载Chef开发包。
复制链接并使用wget下载
root@ubuntu-15-WKS:~# wget https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chefdk_0.6.2-1_amd64.deb
2)Chef开发包安装
使用 dpkg 命令安装开发包
root@ubuntu-15-WKS:~# dpkg -i chefdk_0.6.2-1_amd64.deb
3)验证
使用以下命令验证客户端是否已正确安装。
root@ubuntu-15-WKS:~# chef verify
Running verification for component 'berkshelf' Running verification for component 'test-kitchen' Running verification for component 'chef-client' Running verification for component 'chef-dk' Running verification for component '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' .............. --------------------------------------------- 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-dk' succeeded. Verification of component 'fauxhai' succeeded. Verification of component 'test-kitchen' succeeded. Verification of component 'kitchen-vagrant' succeeded. Verification of component 'chef-client' succeeded. Verification of component 'chefspec' succeeded. Verification of component 'package installation' succeeded.
4)连接到Chef服务器
我们将创建 ~/.chef 目录并将两个用户和组织 pem 文件从 Chef 服务器复制到该目录中。
root@ubuntu-14-chef:~# scp bloger.pem blogs.pem kashi.pem linux.pem root@172.25.10.172:/.chef/
root@172.25.10.172's password: bloger.pem 100% 1674 1.6KB/s 00:00 blogs.pem 100% 1674 1.6KB/s 00:00 kashi.pem 100% 1678 1.6KB/s 00:00 linux.pem 100% 1678 1.6KB/s 00:00
5) 编辑配置以管理厨师环境**
现在使用以下内容创建“~/.chef/knife.rb”。
root@ubuntu-15-WKS:/.chef# vim knife.rb current_dir = File.dirname(__FILE__) log_level :info log_location STDOUT node_name "kashi" client_key "#{current_dir}/kashi.pem" validation_client_name "kashi-linux" validation_key "#{current_dir}/linux.pem" chef_server_url "https://172.25.10.173/organizations/linux" cache_type 'BasicFile' cache_options( :path => "#{ENV['HOME']}/.chef/checksums" ) cookbook_path ["#{current_dir}/../cookbooks"]
创建 knife.rb 指定的“~/”文件夹。
root@ubuntu-15-WKS:/# mkdir cookbooks
6)试刀配置
运行“”和“”以验证 knife 是否有效。
root@ubuntu-15-WKS:/.chef# knife user list
第一次运行时,您可能会看到以下错误。 这是因为工作站上的 Chef 服务器没有 SSL 证书。
ERROR: SSL Validation failure connecting to host: 172.25.10.173 - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: 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.
解决之前命令的错误,运行如下命令获取ssl证书ubuntu 安装包管理界面,重新运行和list,应该就可以了。
root@ubuntu-15-WKS:/.chef# knife ssl fetch WARNING: Certificates from 172.25.10.173 will be fetched and placed in your trusted_cert directory (/.chef/trusted_certs).
刀无法验证这是一个有效的证书。 下载时应验证此类证书的真实性。
/.chef//-14-.crt 下添加的证书。
前面的命令获取到ssl证书后,再运行下面的命令。
root@ubuntu-15-WKS:/.chef#knife client list kashi-linux
配置与 Chef 服务器交互的新节点
节点是执行所有基础设施手动化的主厨客户端。 因此,在配置 chef- 和 knife 工作站后,通过配置与 chef- 交互的新节点向我们的 chef 环境添加新服务器。
我们使用以下命令添加与 Chef 服务器一起工作的新节点。
root@ubuntu-15-WKS:~# knife bootstrap 172.25.10.170 --ssh-user root --ssh-password kashi123 --node-name mydns
Doing old-style registration with the validation key at /.chef/linux.pem... Delete your validation key in order to use your user credentials instead Connecting to 172.25.10.170 172.25.10.170 Installing Chef Client... 172.25.10.170 --2015-07-04 22:21:16-- https://www.opscode.com/chef/install.sh 172.25.10.170 Resolving www.opscode.com (www.opscode.com)... 184.106.28.91 172.25.10.170 Connecting to www.opscode.com (www.opscode.com)|184.106.28.91|:443... connected. 172.25.10.170 HTTP request sent, awaiting response... 200 OK 172.25.10.170 Length: 18736 (18K) [application/x-sh] 172.25.10.170 Saving to: ‘STDOUT’ 172.25.10.170 100%[======================================>] 18,736 --.-K/s in 0s 172.25.10.170 172.25.10.170 2015-07-04 22:21:17 (200 MB/s) - written to stdout [18736/18736] 172.25.10.170 172.25.10.170 Downloading Chef 12 for ubuntu... 172.25.10.170 downloading https://www.opscode.com/chef/metadata?v=12&prerelease=false&nightlies=false&p=ubuntu&pv=14.04&m=x86_64 172.25.10.170 to file /tmp/install.sh.26024/metadata.txt 172.25.10.170 trying wget...
然后我们可以在刀节点列表下看到创建的新节点,同时也会在新节点下创建一个新的客户端。
root@ubuntu-15-WKS:~# knife node list mydns
同样,我们可以通过向里面的 knife 命令提供 ssh 凭据来在 chef 设施上创建多个节点。
总结
在这篇文章中,我们学习了chef管理工具,通过安装和配置设置基本了解了它的组成部分。 我希望您在学习安装和配置 Chef 服务器及其工作站和客户端节点时玩得开心。
通过:
作者:译者:校对:wxy
本文由 LCTT 原创翻译,Linux China 有幸转载