가상 머신(192.168.0.21)에 Chef 서버를 만들었습니다. 서버는 https에서 제대로 실행됩니다(opscode 사이트의 마지막 버전입니다).
knife user list
(및 다른 목록 명령)은 제대로 실행되어 올바른 결과를 반환합니다(모든 사용자/노드/클라이언트.새 사용자는 정상적으로 표시됩니다).
요리책을 서버에 업로드하려고 할 때 다음 오류가 발생합니다.
네트워크 오류: getaddrinfo: 이름 또는 서비스를 알 수 없음 칼 구성 및 네트워크 설정을 확인하십시오.
또는 이 더 긴 오류:
오류: 네트워크 오류: getaddrinfo: 이름 또는 서비스를 알 수 없음 Knife 구성 및 네트워크 설정을 확인하십시오. /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in
initialize': getaddrinfo: Name or service not known (SocketError) from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in
open' from /opt/chef /embedded/lib/ruby/1.9.1/net/http.rb:763:/opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:100:/opt 에서 연결'block in connect' from /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:69:in
의 시간 초과 ' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6의timeout' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in
/chef/embedded/lib/ruby/1.9.1/net/http.rb:756:indo_start' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:745:in
start'. 7/lib/restclient/request.rb:172:transmit' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb에서 '실행' :33:inexecute' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/resource.rb:76:in
put' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:153:inblock in uploader_function_for' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:25:in
call' from /opt/chef /embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:25:/opt/chef/embedded/lib/ruby/gems/1.9block (3 levels) in setup_worker_threads' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:24:in
의 루프'에서. 1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:24:in `setup_worker_threads의 블록(2 레벨)'
Knife.rb 파일:
log_level :info
log_location STDOUT
node_name 'dony'
client_key '/home/dony/.chef/dony.pem'
validation_client_name 'chef-validator'
validation_key '/home/dony/Documents/cd/cv.pem'
chef_server_url 'https://192.168.0.21'
syntax_check_cache_path '/home/dony/.chef/syntax_check_cache'
cookbook_path [ "/home/dony/Documents/chef" ]
서버에 대한 다른 명령이 작동하고 있기 때문에 해당 문제에 대해 손가락질할 수는 없습니다.
답변1
서버 결함인 것 같습니다. 서버 FQDN은 서버 측에서 설정되어야 합니다.
- 편집
/etc/hostname
, 예를 들어yourhost.dyndns.org
- 달리다:
hostname -F /etc/hostname
그게 다야
답변2
Chef나 기본 라이브러리인 Rest-client에서 이상한 버그를 발견했을 수도 있습니다.
Chef 11.10.alpha에서는 다음과 같았을 수 있습니다.교체/고정이미.
다음과 같이 에서 실제 포트를 지정하려고 시도할 수도 있습니다 knife.rb
.
chef_server_url 'https://192.168.0.21:443'
이는 현재 도서관이 위치를 올바르게 해석하는 데 도움이 될 수 있습니다.