【发布时间】:2015-10-30 20:20:40
【问题描述】:
我正在尝试更新托管在 AWS EC2 实例上的 Chef 服务器。这是我尝试连接到服务器时发生的情况:
$ knife ssl check
Error: Network Error: getaddrinfo: nodename nor servname provided, or not
known
我只能想到刀配置的问题。但是,所有刀功能都在 AWS EC2 实例中工作,而不是在我的本地机器(Macbook+iTerm)上。
EC2 上的 knife.rb
log_level :info
log_location STDOUT
node_name 'jdoe'
client_key '/home/ec2-user/.chef/jdoe.pem'
validation_client_name 'chef-validator'
validation_key '/etc/chef-server/chef-validator.pem'
chef_server_url 'https://ip-xx-x-x-xxx.ec2.internal:443'
syntax_check_cache_path '/home/ec2-user/.chef/syntax_check_cache'
本地机器上的knife.rb
log_level :info
log_location STDOUT
node_name 'jdoe'
client_key '/Users/.../.chef/jdoe.pem'
validation_client_name 'chef-validator'
validation_key '/Users/.../.chef/chef-validator.pem'
chef_server_url 'https://ip-xx-x-x-xxx.ec2.internal:443'
syntax_check_cache_path '/Users/yoonsulee/.chef/syntax_check_cache'
# Amazon AWS
knife[:aws_access_key_id]='A...........Q' # actual access key
knife[:aws_secret_access_key]='Q.............................g' # actual secret access eky
knife[:aws_ssh_key_id]='xyz-abcd' # general key name used for AWS access
我的 AWS 安全组和 ACL 都很好。而且我能够以某种方式从以下位置下载“trusted_certs”:
$ knife ssl fetch
最终,我尝试从我的 Chef 存储库目录中执行以下操作:
$ berks upload <new_cookbook> --force
$ knife role from file ../../roles/*
【问题讨论】:
标签: ruby-on-rails ruby amazon-web-services amazon-ec2 chef-infra