单个开源厨师服务器可以处理多少个节点
How many nodes a single opensource chef-server can handle
以下是正在使用的chef-server(开源)的硬件配置。
4 GB of RAM;
5 GB of free disk space in /opt;
5 GB of free disk space in /var;
Chef-server version installed 11.6;
这个厨师服务器可以处理守护进程中所有 运行 个厨师客户端的多少个节点?
单个 chef-server 是否可以处理 300-500 个节点?
我在 chef-official 文档中看到了 3 个配置方案(独立、HA、分层),我们根据哪些因素决定使用哪个方案?采用分层配置是否有任何特定原因,它是否允许更多节点数?
Chef documentation 有时可能会混淆哪些是开箱即用的免费特性,哪些不是。作为免费选项,您只能选择独立的 Chef 服务器,没有复制,没有 HA,没有分析,也没有分层配置。 Chef 12 版改变了开源 Chef 和 Enterprise Chef 的分发方式。现在只有一台 Chef 服务器,高级功能作为插件安装(能够为少数节点免费试用其中一些功能)。
回答您的问题,我没有使用同一 Chef Server 管理超过 +40-50 个节点的经验,但我认为这对资源要求不高,您应该能够管理 400-500 个节点机器不是很大,如果您注意节点何时尝试收敛以平衡 Chef 服务器的负载,则更多。
我在这种规模的开源 Chef 服务器上有 42 个节点,它运行良好,但在使用复杂 run-list/role 分配一次超过 4 个的引导节点时我遇到了问题。
这个环境包括
- 20 unicorn/nginx 个节点(高度复杂的设置)
- 2个redis节点(简单设置)
- 3 mysql 个节点(中等复杂设置)
- 15 mongodb 节点(中等复杂设置)
- 2 个 nginx 节点(简单设置)
这是我的 unicorn/nginx 节点的草图。我会称之为高度复杂的设置。
- 使用数据包、加密数据包、git 存储库、模板创建 5 个独角兽和 nginx 端点。
- 创建一个 nodejs 端点
- 使用数据包和加密数据包创建 linux 10 个用户
- 设置日志轮换
- 在我的生态系统中基于 mysql mongo 和 redis 服务器设置配置文件
- 创建一个 NFS 挂载脚本备份到该 NFS 挂载
- 和 20 个或其他基本系统管理员类型的任务
我环境中的所有节点都以标准的 1800 秒间隔签入 Chef 服务器。降低此间隔会增加服务器的负载。如果您超过间隔的阈值小于所有节点或您的节点完成其厨师客户端 运行 所花费的时间,您的性能问题将会滚雪球。
我 运行 在一次引导多个复杂的新节点时陷入瓶颈,因为几乎每个配方都必须采取行动,例如调用远程存储库、设置目录权限、服务重启、chkconfig 更新、写出配置文件等
我 运行 在要求 Chef 服务器使用 Chef 搜索功能查找符合特定条件的主机时,我 运行 遇到了 Chef-client 运行 的性能瓶颈。例如,搜索数据库(mysql、redis 等)主节点以获得该框的 FQDN 或 IP,以便 Chef 可以继续进行数据库从属设置。我通过减少搜索次数并搜索带有 . 标签的 Chef 标签解决了这些问题。
考虑问:
"How many minutes is an acceptable knife bootstrap?"
"How many minutes is an acceptable chef-client run?"
"What will be my most complicated Chef cookbooks/run-lists?" 帮助指导您的性能分析
以下是正在使用的chef-server(开源)的硬件配置。
4 GB of RAM;
5 GB of free disk space in /opt;
5 GB of free disk space in /var;
Chef-server version installed 11.6;
这个厨师服务器可以处理守护进程中所有 运行 个厨师客户端的多少个节点? 单个 chef-server 是否可以处理 300-500 个节点?
我在 chef-official 文档中看到了 3 个配置方案(独立、HA、分层),我们根据哪些因素决定使用哪个方案?采用分层配置是否有任何特定原因,它是否允许更多节点数?
Chef documentation 有时可能会混淆哪些是开箱即用的免费特性,哪些不是。作为免费选项,您只能选择独立的 Chef 服务器,没有复制,没有 HA,没有分析,也没有分层配置。 Chef 12 版改变了开源 Chef 和 Enterprise Chef 的分发方式。现在只有一台 Chef 服务器,高级功能作为插件安装(能够为少数节点免费试用其中一些功能)。
回答您的问题,我没有使用同一 Chef Server 管理超过 +40-50 个节点的经验,但我认为这对资源要求不高,您应该能够管理 400-500 个节点机器不是很大,如果您注意节点何时尝试收敛以平衡 Chef 服务器的负载,则更多。
我在这种规模的开源 Chef 服务器上有 42 个节点,它运行良好,但在使用复杂 run-list/role 分配一次超过 4 个的引导节点时我遇到了问题。
这个环境包括 - 20 unicorn/nginx 个节点(高度复杂的设置) - 2个redis节点(简单设置) - 3 mysql 个节点(中等复杂设置) - 15 mongodb 节点(中等复杂设置) - 2 个 nginx 节点(简单设置)
这是我的 unicorn/nginx 节点的草图。我会称之为高度复杂的设置。 - 使用数据包、加密数据包、git 存储库、模板创建 5 个独角兽和 nginx 端点。 - 创建一个 nodejs 端点 - 使用数据包和加密数据包创建 linux 10 个用户 - 设置日志轮换 - 在我的生态系统中基于 mysql mongo 和 redis 服务器设置配置文件 - 创建一个 NFS 挂载脚本备份到该 NFS 挂载 - 和 20 个或其他基本系统管理员类型的任务
我环境中的所有节点都以标准的 1800 秒间隔签入 Chef 服务器。降低此间隔会增加服务器的负载。如果您超过间隔的阈值小于所有节点或您的节点完成其厨师客户端 运行 所花费的时间,您的性能问题将会滚雪球。
我 运行 在一次引导多个复杂的新节点时陷入瓶颈,因为几乎每个配方都必须采取行动,例如调用远程存储库、设置目录权限、服务重启、chkconfig 更新、写出配置文件等
我 运行 在要求 Chef 服务器使用 Chef 搜索功能查找符合特定条件的主机时,我 运行 遇到了 Chef-client 运行 的性能瓶颈。例如,搜索数据库(mysql、redis 等)主节点以获得该框的 FQDN 或 IP,以便 Chef 可以继续进行数据库从属设置。我通过减少搜索次数并搜索带有 . 标签的 Chef 标签解决了这些问题。
考虑问: "How many minutes is an acceptable knife bootstrap?" "How many minutes is an acceptable chef-client run?" "What will be my most complicated Chef cookbooks/run-lists?" 帮助指导您的性能分析