0

嗨,我已经使用以下命令安装了厨师服务器。

#!/bin/bash

set -x

sudo yum update -y
sudo yum install firewalld -y
sudo systemctl status firewalld
sudo systemctl start firewalld
sudo systemctl status firewalld
sudo yum install git -y
sudo firewall-cmd --add-port=443/tcp --permanent
sudo firewall-cmd --reload
cd /tmp
wget  https://packages.chef.io/files/stable/chef-server/13.2.0/el/7/chef-server-core-13.2.0-1.el7.x86_64.rpm
sudo rpm -Uvh chef-server-core-13.2.0-1.el7.x86_64.rpm
sudo chef-server-ctl reconfigure  --chef-license=accept
sudo chef-server-ctl user-create tuser Test User testuser@yahoo.com 'Test1234' --filename /home/ec2-user/tuser.pem
sudo chef-server-ctl org-create testdemo 'Test Demo Inc' --association_user tuser --filename /home/ec2-user/testdemo.pem
wget  https://packages.chef.io/files/stable/chef-manage/2.5.16/el/7/chef-manage-2.5.16-1.el7.x86_64.rpm
sudo rpm -Uvh chef-manage-2.5.16-1.el7.x86_64.rpm
sudo chef-server-ctl reconfigure  --chef-license=accept
sudo chef-manage-ctl reconfigure --accept-license
sudo chef-server-ctl service-list

在 NSG,我允许来自任何地方的端口 443。但是,我想从我的工作站创建一个简单的 EC2 实例,显然是使用 chef-server 来执行此操作。当我这样做时 **knife list**,我在下面收到错误消息

ERROR: CONFIGURATION ERROR:You have invalid ruby syntax in your config file c:/Users/hp/.chef/config.rb

       SyntaxError: c:/Users/hp/.chef/config.rb:7: unterminated string meets end of file
       c:/Users/hp/.chef/config.rb:7: syntax error, unexpected end-of-input, expecting ']'
       Relevant file content:
         6:   'c:\Users\hp\chef-repo\'
         7: ]

我的C:\users\hp.chef\config.rb如下:

chef_server_url 'https://52.23.248.110/organizations/testdemo'
chef_zero.enabled true
#chef_zero[:port] 8889
client_key '/etc/chef/client.pem'
cookbook_path [
  'c:\Users\hp\chef-repo\'
]

注意client_key指向 pem 文件,我有两个 pem 文件,一个是用户 pem 文件,另一个是组织 pem 文件。client_key 应该指向哪一个?以及如何解决此错误?

笔记:

  1. Chef 工作站是 Windows 10 笔记本电脑

  2. Chef 服务器位于 AWS 上

  3. 想要配置一个 ec2 并使用一些基本软件作为 POC 的一部分进行引导

4

1 回答 1

1

错误:

SyntaxError: c:/Users/hp/.chef/config.rb:7: unterminated string meets end of file
       c:/Users/hp/.chef/config.rb:7: syntax error, unexpected end-of-input, expecting ']'
       Relevant file content:
         6:   'c:\Users\hp\chef-repo\'
         7: ]

很清楚。您的配置文件中有语法错误。您backslash正在转义单引号。在前面添加另一个'

6:   'c:\Users\hp\chef-repo\\'

或使用正斜杠。Ruby 实际上/用于任何平台上的路径。

6:   'c:/Users/hp/chef-repo/'
于 2020-05-20T12:00:51.030 回答