Назад | Перейти на главную страницу

Истекло время ожидания клиентов Chef при попытке подключения к серверу

Я не уверен, на клиенте или на сервере проблема. Все мои машины - 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.