在Ubuntu 20.04上安装Chef Server&Workstation

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

欢迎阅读有关如何在Ubuntu 20.04(Focal Fossa)上安装Chef Server和Workstation的今天指南。 Chef是一个功能强大的自动化解决方案,旨在将您的基础架构转换为代码。基础架构可以是本地,云或混合环境中的。 Chef使您能够自动化部署,配置和管理基础结构的方式。 Chef服务器充当食谱的中央存储库,还提供有关其管理的所有节点的信息。

Chef自动化服务器背后的公司一直在开发其他自动化工具,例如:

  1. 厨师- 基础设施自动化
  2. 栖息地 应用自动化
  3. INSPEC – 合规自动化

请按照下一部分中的步骤在Ubuntu 20.04 Linux服务器上安装和配置Chef Server。

步骤1:更新系统以设置主机名

您需要更新系统以确保所有已安装的软件包均为最新版本。

sudo apt update
sudo apt -y upgrade

设置服务器主机名,该主机名将是在Ubuntu 20.04上部署的Chef Server的DNS名称。

sudo hostnamectl set-hostname chef-server.computingforgeeks.com

如果您有活动的DNS服务器,请相应地设置A记录。为没有DNS服务器的安装设置记录 /etc/hosts 文件:

192.168.200.10 chef-server.example.com

它还在Ubuntu机器上安装了一些其他基本软件包。

sudo apt -y install curl wget bash-completion

我们建议您在安装这些软件包并升级计算机后重新启动。

sudo reboot

步骤2:配置本地邮件中继

Chef服务器使用电子邮件发送各种事件的通知。

  • 重设密码
  • 用户邀请
  • 故障转移通知
  • 作业失败通知

使用该指南在Chef服务器上配置本地邮件传输代理。

在Ubuntu上安装Postfix并将其配置为传出SMTP服务器

步骤3:配置NTP

Chef服务器特别容易受到时钟漂移的影响,并且其运行的系统必须连接到网络时间协议(NTP)。

在Ubuntu 20.04上安装chrony软件包。

sudo apt -y install chrony

为自动选择的日期设置正确的时区。

sudo timedatectl set-timezone Africa/Nairobi

例如,要限制从Chef客户机节点访问NTP服务器,请设置:

restrict 192.168.18.0 mask 255.255.255.0 nomodify notrap

其中192.168.18.0是您本地网络的IP子网。进行更改后,重新启动ntp服务。

sudo systemctl restart chrony

如果你有 UFW 如果启用了防火墙,请记住允许ntp端口。

sudo ufw allow ntp

显示ntp状态:

sudo chronyc sources

检查时间同步。

$ timedatectl
               Local time: Fri 2020-07-10 20:38:57 EAT
           Universal time: Fri 2020-07-10 17:38:57 UTC
                 RTC time: Fri 2020-07-10 17:38:58
                Time zone: Africa/Nairobi (EAT, +0300)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

在Chef客户端上安装ntp并将NTP服务器设置为Chef服务器IP地址

sudo apt install chrony
sudo vim /etc/ntp.conf

取消对NTP池服务器行的注释,并指定Chef服务器IP地址

#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst

server  192.168.18.39

步骤4:下载并安装Chef服务器软件包

首先,从以下方法检查Chef服务器的最新版本。 厨师下载

在撰写本文时,最新版本是一个版本 13.2.0..这是您将下载并安装的软件包。

VERSION="13.2.0"
wget https://packages.chef.io/files/stable/chef-server/${VERSION}/ubuntu/18.04/chef-server-core_${VERSION}-1_amd64.deb

下载完成后,使用以下命令安装软件包 dpkg 命令:

sudo apt install ./chef-server-core_${VERSION}-1_amd64.deb

样品状态:

....
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'chef-server-core' instead of './chef-server-core_13.2.0-1_amd64.deb'
The following NEW packages will be installed:
  chef-server-core
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/381 MB of archives.
After this operation, 1,262 MB of additional disk space will be used.
Get:1 /root/chef-server-core_13.2.0-1_amd64.deb chef-server-core amd64 13.2.0-1 [381 MB]
Selecting previously unselected package chef-server-core.
(Reading database ... 28284 files and directories currently installed.)
Preparing to unpack .../chef-server-core_13.2.0-1_amd64.deb ...
Unpacking chef-server-core (13.2.0-1) ...
Setting up chef-server-core (13.2.0-1) ...

在配置Chef Server之前,请等待安装完成。

sudo chef-server-ctl reconfigure

开始配置之前,您必须接受许可协议。

....
Before you can continue, 3 product licenses
must be accepted. View the license at
End User License Agreement
Licenses that need accepting: * Chef Infra Server * Chef Infra Client * Chef InSpec Do you accept the 3 product licenses (yes/no)? > yes Persisting 3 product licenses... ✔ 3 product licenses persisted. +---------------------------------------------+

创建一个管理员帐户

格式如下:

sudo chef-server-ctl user-create USER_NAME FIRST_NAME LAST_NAME EMAIL 'PASSWORD' --filename FILE_NAME
  • RSA私钥会自动生成。
  • 这是您的私钥,应存储在安全的位置。
  • 选项--filename 将RSA私钥保存到指定的绝对路径。

例:

sudo chef-server-ctl user-create chefadmin Chef Admin 
  [email protected] 'StrongPassword' 
  --filename /home/chefadmin.pem

同时创建一个组织。语法为:

sudo chef-server-ctl org-create short_name 'full_organization_name' --association_user user_name --filename ORGANIZATION-validator.pem
  • 名称必须以小写字母或数字开头。
  • 全名必须以非空格字符开头
  • --association_user 选项是 user_name Chef服务器管理员安全组。
  • RSA私钥会自动生成。这是厨师验证程序的密钥,应存放在安全的地方。
  • --filename 该选项将RSA私钥保存到指定的绝对路径。

请参见下面的示例。

chef-server-ctl org-create mycompany 'Company X, Inc.' 
  --association_user chefadmin 
  --filename /home/mycompany-validator.pem

生成的密钥是 /home 目录

# ls /home/
chefadmin.pem  mycompany-validator.pem

安装Chef Manage

Chef Manage是一个高级插件,提供用于管理常见Chef服务器任务的图形用户界面。多达25个节点是免费的。

让我们安装管理控制台:

sudo chef-server-ctl install chef-manage 
sudo chef-server-ctl reconfigure 
sudo chef-manage-ctl reconfigure

厨师管理 .deb 包:

VER="3.0.11"
wget https://packages.chef.io/files/stable/chef-manage/${VER}/ubuntu/18.04/chef-manage_${VER}-1_amd64.deb
sudo dpkg -i chef-manage_${VER}-1_amd64.deb
sudo chef-manage-ctl reconfigure

所有Chef Server服务都在用户名/组下运行 opscode.. PostgreSQL用户名是 opscode-pgsql..您可以从安装其他软件包 https://packages.chef.io/

如果使用UFW防火墙或已经使用它,请打开端口 80443 运行以下命令:

sudo ufw allow proto tcp from any to any port 80,443

您应该可以访问上面的Chef Web管理仪表板。 https://serverip/login

在Ubuntu 20.04上安装Chef Server&Workstation

使用您之前添加的用户名登录。新的Chef仪表盘将如下所示

在Ubuntu 20.04上安装Chef Server&Workstation

步骤5:在工作站计算机上安装Chef Development Kit

Chef Workstation是Chef开发套件的安装位置。它包含了由伟大的Chef社区构建和测试基础结构所需的所有工具。使用以下指南安装Chef开发套件/工作站。

如何在Ubuntu上安装Chef Development Kit / Workstation

对于Arch Linux用户,请使用:

如何在Arch Linux上安装Chef Development Kit

步骤7:在Chef Workstation中配置刀

Knife是一种命令行工具,可在工作站和Chef服务器之间提供接口。接下来阅读:

如何配置厨师刀,上传食谱,在厨师客户端节点上执行食谱

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

Sidebar