2013-10-25 4 views
3

Я использую хостинг-шеф в течение некоторого времени. Хотелось исследовать сервер шеф-повара openource. поэтому я пытаюсь настроить свой Chef-Server 11 на экземпляр EC2.Установить Chef-Server 11 на EC2 Экземпляр

У меня работает Chef-server, и я могу получить доступ к веб-интерфейсу для этого же. У меня есть рабочая станция chef, настроенная на другом экземпляре ec2, который также отлично работает.

Проблема: Я не могу загрузить какую-либо поваренную книгу. я получаю ниже ошибок при попытке загрузки поваренной книги:

# knife cookbook upload getting-started 
Uploading getting-started [0.4.0] 
/opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED) 

Однако другая list команды knife работает отлично.

Я сделал свою домашнюю работу и наткнулся на ссылки ниже:

http://www.opscode.com/blog/2013/03/11/chef-11-server-up-and-running/

http://www.curvve.com/blog/servers/2013/script-to-configure-and-set-your-hostname-and-fqdn-on-ec2-instances/

Так,

Он отметил, что chef-server нужен рабочий FQDN работать. Я установил имя публичного компьютера ec2 как имя хоста сервера, а также установил его в /etc/hosts. Перезагрузите экземпляр. Ran chef-server-ctl reconfigure еще раз. И все еще сталкиваются с той же ошибкой.

ВОПРОС: Как определить часть FQDN экземпляра EC2 для работы шеф-сервера? если кто-то настроил chef-сервер успешно на EC2 и смог загрузить кулинарные книги, то, пожалуйста, поделитесь своими шагами по тренировке FQDN.

+0

Как вы установили chef-сервер на amazon linux и какую операционную систему вы выбрали для загрузки? Я не запускаю его –

ответ

1

Вот как я получил работу. обновил общедоступное DNS-имя моего экземпляра ec2 (chef-server) в /etc/sysconfig/network и service network restart. Теперь я могу загрузить кулинарные книги в порядке.

Нужно думать об эластичном IP как потенциальном варианте для моего шеф-повара.

1

Edit /etc/chef-server/chef-server.rb и добавьте эти строки (создать файл, если он не существует):

bookshelf["vip"] = node["ipaddress"] 
bookshelf["url"] = "https://#{node["ipaddress"]}" 
erchef['s3_url_ttl'] = 3600 

Первые две строки будут указывать свой адрес шеф-сервера IP машины и третий будет решать который всегда существует, когда Chef Server находится на EC2.

3

Мне было трудно с этим, но это решение сработало!

Edit /etc/chef-server/chef-server.rb и добавьте эти строки (создать файл, если он не существует):

server_name = "THE PUBLIC IP OF YOUR INSTANCE" 
api_fqdn server_name 
nginx['url'] = "https://#{server_name}" 
nginx['server_name'] = server_name 
lb['fqdn'] = server_name 
bookshelf['vip'] = server_name 

Я нашел решение здесь http://sahebjade.blogspot.com/2013/05/check-your-knife-configuration-and.html

0

Я хотел бы расширить некоторые ответы, так как они не дают полной картины.Это относится и к Chef 11 (надеюсь повар 12 умнее)

В моем случае я катаной мастер под VPC# 1, который дал ему внутренний адрес, как это

ф-10-0-0- 10.ec2.internal

Поскольку я только играл с VPC изначально, я неправильно сконфигурировал некоторые вещи, в которых я нуждался, поэтому мне пришлось отказаться от него, и я создал новую схему. К счастью, я смог сделать снимок старого шеф-повара и поднять его под новый VPC, но я обнаружил, что больше не могу войти в шеф-повар. Мне потребовалось некоторое копирование, но я нашел в своем журнале /var/log/chef-server/chef-server-webui/current, что установка заглянула в старое имя хоста и установила его как внутренний URL-адрес для всего. Это вызвало проблему после изменения внутреннего имени хоста

2014-12-24_16:19:09.46680 SocketError: Error connecting to https://ip-10-0-0-10.ec2.internal/users/admin - getaddrinfo: Name or service not known

Теперь к ФПУ ответу

нужен думать об упругом IP в качестве возможного варианта для моего шеф-сервера

В В моем случае я добавил CNAME в CloudFlare и установил его как мой постоянный адрес. Поскольку я могу установить CloudFlare на низкий TTL на этом одном адресе, он упрощает перемещение между изменениями IP (мне не нужен Elastic IP, пока я только настраиваю его). Таким образом, я мог бы сказать шеф-повару всегда искать тот же URL-адрес и не беспокоиться о EIP.

Как только это было сделано, мне пришлось обновить Повара. Я не знаю, что изменилось (это 11.16.4), но я нашел, что configs живут в /var/opt/chef-server/chef-server-webui/etc/chefserver.rb, в отличие от некоторых других ответов, перечисляющих chef-server.rb. Не уверен, что это вещь YMMV или нет. я изменил следующее в нижней части этого файла

# Environment specific application configuration. 
# These values override the ones set in 'RAILS_ROOT/config/application.rb' 
#config.chef_server_url = "https://ip-10-0-0-10.ec2.internal" 
config.chef_server_url = "https://chef.mydomain.com" 

Я также изменил /var/opt/chef-server/nginx/etc/chef_https_lb.conf

server_name chef.mydomain.com; 

Наконец я перезагрузил Chef

chef-server-ctl restart 

Это, кажется, сделали свое дело. Логины снова работают.