Я не уверен, на клиенте или на сервере проблема. Все мои машины - Ubuntu 12.04 x64. Я использую Digital Ocean, и мне нужно настроить iptables, чтобы «выжить».
Мой Chef Server находится на машине с оперативной памятью 2 ГБ без подкачки. Это последняя версия Chef 11 из омнибуса. Я попытался получить доступ к веб-интерфейсу, и все прошло нормально. Но через несколько часов это было очень медленно. Что-то, вероятно, сломалось, и, вероятно, runit перезапустил, что бы это ни было. Я обнаружил, что вся моя оперативная память израсходована, свободно только 77 МБ.
Я попытался перенастроить сервер шеф-повара вот так.
# this is /etc/chef-server/chef-server.rb
topology 'standalone'
api_fqdn 'chef.[mydomain]'
lb['fqdn'] = 'chef.[mydomain]'
nginx['server_name'] = 'chef.[mydomain]'
nginx['url'] = 'https://chef.[mydomain]'
# default was 25%
chef_solr['heap_size'] = 300
# default was 200 connections
postgresql['max_connections'] = 30
# default was 25%
postgresql['shared_buffers'] = '128MB'
# default was 50%
postgresql['effective_cache_size'] = '256MB'
Это не сильно помогло. Теперь у меня свободно 200-300 МБ ОЗУ, но через некоторое время у сервера шеф-повара все еще не получается ответить. Я также вижу, что мой клиент-повар (демон, работающий каждые 30 минут) в конечном итоге перестает отчитываться, и я обнаружил статус вроде «последний отчет был 5 часов назад».
В моем клиентском журнале я нашел такие вещи:
Error connecting to https://chef.[mydomain]/nodes/db.[mydomain] - Connection timed out - connect(2)
У моего клиента iptables настроен следующим образом, на случай, если это может быть проблемой.
% iptables -L -v
Chain INPUT (policy DROP 6 packets, 676 bytes)
pkts bytes target prot opt in out source destination
3155 3260K system all -- any any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1419 packets, 178K bytes)
pkts bytes target prot opt in out source destination
Chain system (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP tcp -- any any anywhere anywhere tcpflags: FIN,SYN,RST,PSH,ACK,URG/NONE
0 0 DROP tcp -- any any anywhere anywhere tcpflags:! FIN,SYN,RST,ACK/SYN state NEW
0 0 DROP tcp -- any any anywhere anywhere tcpflags: FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG
0 0 ACCEPT all -- lo any anywhere anywhere
22 1848 ACCEPT icmp -- any any anywhere anywhere
361 37759 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh
2766 3219K ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
Я попытался загрузить новый узел, и это дважды не удалось. Первый раз просто истек, как и другой клиент. Второй раз у меня было такое:
SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Я занимаюсь этим 3 дня и буду признателен за помощь.
Похоже, это результат сетевых проблем с Digital Ocean, а не вина Chef.