繁体   English   中英

CHEF服务器-错误:网络错误:getaddrinfo:提供的节点名或服务名,或者未知

[英]CHEF Server--Error: Network Error: getaddrinfo: nodename nor servname provided, or not known

我正在尝试更新在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 repo目录中执行以下操作:

$ berks upload <new_cookbook> --force
$ knife role from file ../../roles/*

看起来问题出在您使用EC2实例的内部DNS名称。 除非您将VPN连接到您的AWS VPC,否则无法解决。 如果存在公共DNS名称,则应将工作站的knife.rb更改为使用公共DNS名称。 如果您不希望为实例创建公共终结点,则需要VPN到VPC才能解析内部终结点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM