内容中心如何在阿里云国际 ECS服务器 上安装 Chef 服务器工作站

如何在阿里云国际 ECS服务器 上安装 Chef 服务器工作站

2022-04-14 14:38:38

Chef 是一个功能强大的自动化平台,可帮助您自动执行整个网络中基础架构的配置、部署和管理方式。它将基础结构转换为代码,并允许您跨多个节点或服务器管理和部署资源。在将代码部署到任何其他环境之前,请创建代码并在工作站上对其进行测试。在工作站上,您可以管理基础结构并编写说明书。

在本教程中,我将向您展示如何使用 Ubuntu 16.04 在阿里云弹性计算服务 (ECS) 上安装和设置 Chef 服务器工作站。

先决条件

  • 您必须激活阿里云弹性计算服务(ECS)并验证您的有效付款方式。如果您是新用户,您可以为您的新帐户获得价值 $300 - $1200 的阿里云积分。如果您不知道如何设置 ECS 实例,可以参考本教程快速入门指南。您的 ECS 实例必须至少具有 8GB RAM 和 4 核处理器。
  • 从阿里云注册的域名。如果您已经从阿里云或任何其他主机注册了域名,您可以更新其域名服务器记录。
  • 域名必须指向您的阿里云弹性云服务器的 IP 地址
  • 访问阿里云中的 VNC 控制台或 PC 中安装的 SSH 客户端
  • 设置服务器的主机名并创建具有 root 权限的用户。

设置服务器

在继续安装任何类型的软件包之前,请使用以下命令更新 Ubuntu 系统。要执行此命令,请记住从具有 sudo 权限的非 root 用户登录。

# sudo apt update && sudo apt upgrade

安装 Chef 服务器:

Chef 服务器充当使用 Chef 的所有节点和工作站之间的交互中心。进行更改后,这些更改将上载到 Chef 服务器。之后,chef 客户端访问 Chef 服务器并帮助配置每个单独的节点。要安装 Chef 服务器,请执行以下步骤。

您需要下载 Chef 服务器核心。要下载它,请执行以下命令。

# wget https://packages.chef.io/files/stable/chef-server/12.17.33/ubuntu/16.04/chef-server-core_12.17.33-1_amd64.deb  

您需要使用以下命令解压缩并安装.deb。

# sudo dpkg -i chef-server-core_12.17.33-1_amd64.deb

通过执行以下命令删除下载的.deb文件。

# sudo rm chef-server-core_12.17.33-1_amd64.deb

执行以下命令以启动 Chef 服务器命令行实用程序。它将启动 Chef 服务器服务。

# sudo chef-server-ctl reconfigure

如果安装成功,您将看到以下屏幕。

1

创建 Chef 用户和组织:

要将节点和工作站链接到 Chef 服务器,您需要创建具有关联 RSA 私钥的管理员用户和组织。为此,请按照以下步骤操作。

通过执行以下命令创建用于存储密钥的目录。

# mkdir .chef

要创建用户,您将使用 Chef 命令行实用程序。执行以下命令创建用户,并记住将 aareez 替换为所需的用户名、123@example.com替换为所需的电子邮件地址和文件名 aareez.pem 到 your_username.pem,将 654321Ab 替换为所需的密码,将 Arslan 替换为您的名字,将 Malik 替换为您的姓氏。

# sudo chef-server-ctl user-create aareez Arslan Shafiq 123@example.com '654321Ab' --filename ~/.chef/aareez.pem

创建一个组织,并在管理员和帐单管理员安全组中添加在上述步骤中创建的用户。为此,请执行以下命令。

# sudo chef-server-ctl org-create org_name 'org_full_name' --association_user aareez --filename ~/.chef/org_name.pem

请记住将org_name和org_full_name替换为组织的名称,并将 aareez 替换为您的用户名。

安装 Git:

为 Chef 工作站创建新的阿里云实例并进行更新。

# sudo apt update && sudo apt upgrade

使用以下命令安装 Git。

# sudo apt-get install git

(可选)执行以下命令,通过提供您的姓名和有效的电子邮件地址来配置 Git,以便提交消息可能包含您的正确信息。

# git config --global user.name 'Aareez'
# git config --global user.email 'xyz@example.com'

设置厨师工作站:

Chef 工作站允许您创建和配置配方、说明书、属性以及对 Chef 配置所做的其他更改。要安装和配置 Chef 开发工具包,请执行以下步骤。

您需要通过执行以下命令下载 Chef 开发工具包。

# wget https://packages.chef.io/files/stable/chefdk/3.3.23/ubuntu/16.04/chefdk_3.3.23-1_amd64.deb

要安装 Chef 开发工具包,请执行以下命令。

# sudo dpkg -i chefdk_3.3.23-1_amd64.deb

通过执行以下命令删除下载.deb文件。

# sudo rm chefdk_3.3.23-1_amd64.deb

通过执行以下命令生成 chef 存储库。

# chef generate app chef-repo

导航到 chef-repo

# cd chef-repo

创建 .chef 目录以存储 aareez.pem、organization-validator.pem 和 knife.rb。执行以下命令。

# mkdir .chef

添加 RSA 私钥

设置和安装 Chef 服务器时生成的 RSA 密钥将放置在工作站上。为此,请执行以下命令。

# scp aareez@softpedia.xyz:~/.chef/*.pem ~/chef-repo/.chef/

请记住将 aareez 替换为您的用户名,将 softpedia.xyz 替换为您的域名或 ECS IP 地址。

要确认文件是否已成功复制,您可以执行以下命令。

# ls ~/chef-repo/.chef

设置版本控制:

您需要将 .chef 目录添加到 .gitignore 文件中。为此,请执行以下命令。

# echo '.chef' > .gitignore

您将需要添加并提交所有现有文件。为此,请执行以下命令。

对于添加: # git add .

对于提交:# git commit -m “initial commit”

您可以通过执行以下命令来检查状态。

# git status

生成 knife.rb:

要生成 knife.rb 文件,请按照以下步骤操作。

通过执行以下命令导航到 /chef-repo/.chef。

# cd ~/chef-repo/.chef

创建一个名为 knife.rb 的文件,通过执行以下命令,将在 nano 文本编辑器中打开一个文件。

# sudo nano knife.rb

将以下文本复制并粘贴到打开的文件中。请记住将 aareez 替换为您的 Chef 服务器用户名,org_name替换为您组织的名称,并将chef_server_url值替换为您自己的域或 IP 地址。

current_dir = File.dirname(__FILE__)
log_level                :info
log_location             STDOUT
node_name                'aareez'
client_key               'aareez.pem'
validation_client_name   'org_name-validator'
validation_key           'org_name-validator.pem'
chef_server_url          'https://softpedia.xyz/organizations/org_name'
cache_type               'BasicFile'
cache_options( :path => '#{ENV['HOME']}/.chef/checksums' )
cookbook_path            ['#{current_dir}/../cookbooks'] 

导航回 /chef-repo 并使用下面的命令进行获取。

# cd ..
# knife ssl fetch

您可以通过执行以下命令来确认 knife.rb 是否已正确设置。

# knife client list

使用配置的工作站和服务器,您现在可以引导第一个节点。

引导节点:

在引导节点时,将安装 Chef 客户端。它验证节点并允许从 Chef 服务器读取并允许进行配置。要引导节点,请执行以下步骤。

通过执行以下命令导航到 /chef-repo/.chef

# cd ~/chef-repo/.chef

以具有 sudo 权限的用户身份,执行以下命令。请记住使用您的节点用户名更改 aareez,使用用户密码更改 654321Ab,使用 Chef 服务器的 IP 地址或域更改 softpedia.xyz,以及使用要提供给节点的名称更改 imaareez。

# knife bootstrap softpedia.xyz -x aareez -P 654321Ab --sudo --node-name imaareez

您可以通过执行以下命令来确认节点是否已引导。

# knife client list

设置防火墙和端口

如果您已激活防火墙,则必须在阿里云安全组中为云服务器定义规则,以便为端口 80/tcp 和 443/tcp 添加例外。您可以在创建 ECS 实例时启用这些端口,但如果您忘记取消阻止这些端口,您可以按照本指南中的步骤操作:https://www.alibabacloud.com/help/doc-detail/25471.htm

祝贺!您已在 ECS 实例上成功安装并配置了 Chef 服务器和 Chef 服务器工作站。

上一篇
提高企业进入国外市场的“免疫力”:阿里云CDN安全能力分析
下一篇
如何设置和配置阿里云国际版云数据库 Redis 内存数据库
立即咨询 享受更轻松快捷的上云服务
联系我们
联系我们
Skype:87Cloud Alibaba
E-mail:the87cloud@outlook.com
最新活动
合作流程
解决方案
代理合作
关于我们
87Cloud Alibaba
the87cloud@outlook.com
阿里云国际
最新优惠
立即加入
电报交谈
Skype
企业邮箱
返回首页
回到顶部