Chef 客户端尝试连接服务器时超时

Chef 客户端尝试连接服务器时超时

我不确定问题出在客户端还是服务器上。我所有的机器都是 Ubuntu 12.04 x64。我在 Digital Ocean 上,我必须配置 iptables 才能“生存”。

服务器故事

我的 Chef Server 安装在 2GB RAM 的机器上,没有交换空间。它是 omnibus 的最新版 Chef 11。我尝试访问 Web UI,一切正常。但几个小时后,它变得非常慢。可能是某些东西崩溃了,可能是 runit 重新启动了,不管是什么。我发现我的 RAM 已经用完了,只有 77mb 是空闲的。

我尝试像这样重新配置 chef 服务器。

# 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-300mb 的可用 RAM,但过了一段时间后,Chef 服务器仍然无法响应。我还看到我的 Chef 客户端(守护进程每 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

那么为什么我的客户端超时了?

我已经研究这个问题三天了,希望得到一些帮助。

答案1

这看起来像是 Digital Ocean 网络问题造成的,而不是 Chef 的错。

相关内容