Before installing Chef Infra:
- Ensure that each system you will be managing is running a supported platform
- Ensure that the machine that will run the Chef Infra Server is sufficiently powerful
- Ensure that any network and firewall settings are configured correctly
Install and configure the Chef Infra Server, then install and configure Chef Workstation, and then run the bootstrap command from Chef Workstation to install Chef Infra Client on each node.
The Chef Infra Server
The following sections describe the various requirements for the Chef Infra Server.
Hosted Chef Infra Server Requirements
Every node that will be configured by Chef Infra Client and every workstation that will upload data to the Chef Infra Server must be able to communicate with the hosted Chef server.
Chef Infra Server, On-premises or in Cloud Environment
All machines in a Chef Infra Server deployment have the following hardware requirements. Disk space for standalone and backend servers should scale up with the number of nodes that the servers are managing. A good rule to follow is to allocate 2 MB for each node. The disk values listed below should be a good default value that you will want to modify later if/when your node count grows. Fast, redundant storage (SSD/RAID-based solution either on-prem or in a cloud environment) is preferred.
- 64-bit CPU architecture
- CPU support for SSE4.2 extensions (Xeons starting in 2007 and Opterons in 2012)
- 4 total cores (physical or virtual)
- 8 GB of RAM or more
- 5 GB of free disk space in
- 10 GB of free disk space in
For a high availability deployment:
- Three backend servers; as many frontend servers as required
- 1 x GigE NIC interface (if on premises)
- 4 cores (physical or virtual)
- 4GB RAM
- 20 GB of free disk space (SSD if on premises, Premium Storage in Microsoft Azure, EBS-Optimized GP2 in AWS)
- 2 cores (physical or virtual)
- 8GB RAM
- 50 GB/backend server (SSD if on premises, Premium Storage in Microsoft Azure, EBS-Optimized GP2 in AWS)
Before installing the Chef Infra Server, ensure that each machine has the following installed and configured properly:
- Hostnames — Ensure that all systems have properly configured hostnames. The hostname for the Chef Infra Server must be a FQDN, have fewer than 64 characters including the domain suffix, be lowercase, and resolvable. See Hostnames, FQDNs for more information
- FQDNs — Ensure that all systems have a resolvable FQDN
- NTP — Ensure that every server is connected to NTP; the Chef Infra Server is sensitive to clock drift
- Mail Relay — The Chef Infra Server uses email to send notifications for various events; a local mail transfer agent should be installed and available to the Chef server
- cron — Periodic maintenance tasks are performed using cron
- git — git must be installed so that various internal services can confirm revisions
- Apache Qpid — This daemon must be disabled on CentOS and Red Hat systems
- Required users — If the environment in which the Chef Infra Server will run has restrictions on the creation of local user and group accounts, ensure that the correct users and groups exist before reconfiguring
- Firewalls and ports — If host-based firewalls (iptables, ufw, etc.) are being used, ensure that ports 80 and 443 are open.
- Browser — Firefox, Google Chrome, Safari, or Internet Explorer (versions 9 or better)
- Chef Infra Client communication with the Chef Infra Server The Chef Infra Server must be able to communicate with every node that will be configured by Chef Infra Client and every workstation that will upload data to the Chef Infra.
Chef Infra Client
- The recommended amount of RAM available to Chef Infra Client during a Chef Infra Client run is 512MB
- The Chef Infra Client binaries are stored in the
/opt/chefdirectory, which requires a minimum of 200MB of disk space. On Windows, the Chef Infra Client binaries can be found in
C:\opscode\, and they require a minimum of 600MB of disk space.
- The processor must be supported. We recommend a 1 gigahertz (GHz) or faster processor, but the processor speed should be based on the other system loads.
- Chef Infra Client caches to
/var/chef/cacheduring a Chef Infra Client run. This is the location in which downloaded cookbooks, packages required by those cookbooks, and other large files are stored. This directory requires enough space to save all of this data and should be generously sized. 5GB is a safe number as a starting point, but tune the size of
/var/chef/cacheas necessary. This location is tunable in a node’s client.rb file using the
- 64-bit architecture
- 4 GB of RAM or more
- 2 GB of free disk space