diff --git a/content/reusable/md/chef_client_bootstrap_stages.md b/content/reusable/md/chef_client_bootstrap_stages.md index 45b8dbc564..439be7083c 100644 --- a/content/reusable/md/chef_client_bootstrap_stages.md +++ b/content/reusable/md/chef_client_bootstrap_stages.md @@ -1,50 +1,36 @@ -The following diagram shows the stages of the bootstrap operation, and -the list below the diagram describes each of those stages in greater -detail. +The following diagram shows the stages of the bootstrap operation, +and the list below the diagram describes each of those stages in greater detail. ![image](/images/chef_bootstrap.png) -During a `knife bootstrap` bootstrap operation, the following happens: - - - - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StagesDescription
knife bootstrapEnter the knife bootstrap subcommand from a workstation. Include the hostname, IP address, or FQDN of the target node as part of this command. Knife will establish an SSH or WinRM connection with the target system and run a bootstrap script.

Get the install script from Chef

The shell script will make a request to the Chef website to get the most recent version of a the Chef Infra Client install script(install.sh or install.ps1).

Get the Chef Infra Client package from ChefThe install script then gathers system-specific information and determines the correct package for Chef Infra Client, and then downloads the appropriate package from omnitruck-direct.chef.io.
Install Chef Infra ClientChef Infra Client is installed on the target node using a system native package (.rpm, .msi, etc).

Start a Chef Infra Client run

On UNIX and Linux-based machines: The second shell script executes the chef-client binary with a set of initial settings stored within first-boot.json on the node. first-boot.json is generated from the workstation as part of the initial knife bootstrap subcommand.

-

On Windows machines: The batch file that's derived from the windows-chef-client-msi.erb bootstrap template executes the chef-client binary with a set of initial settings stored within first-boot.json on the node. first-boot.json is generated from the workstation as part of the initial knife bootstrap subcommand.

Complete a Chef Infra Client run

a Chef Infra Client run proceeds, using HTTPS (port 443), and registers the node with the Chef Infra Server.

-

The first Chef Infra Client run, by default, contains an empty run-list. A run-list can be specified as part of the initial bootstrap operation using the --run-list option as part of the knife bootstrap subcommand.

+When you run `knife bootstrap` on a node for the first time, Chef Workstation, Infra Client, and Infra Server handle the following tasks: + +1. **Run `knife bootstrap`** + + Run the [`knife bootstrap`](/workstation/knife_bootstrap/) subcommand from a workstation. Include the hostname, IP address, or FQDN of the target node as part of this command. Knife establishes an SSH or WinRM connection with the target system and runs the bootstrap script. + + By default, the first Chef Infra Client run has an empty run list. You can add a [run list](/run_lists/) to the initial bootstrap operation using the [`--run-list`](/workstation/knife_bootstrap/#node-options) option. + +1. **Get the install script** + + A shell script gets the most recent version of the [Chef Infra Client install script](/chef_install_script/) (`install.sh` or `install.ps1`) from Chef. + +1. **Get the Chef Infra Client package** + + The install script gathers system-specific information, determines the correct package for Chef Infra Client, and downloads that package from Chef's downloads API. + +1. **Install Chef Infra Client** + + Chef Infra Client is installed on the target node using a system native package (.rpm, .msi, etc). + +1. **Start a Chef Infra Client run** + + When you first run `knife bootstrap`, Chef Workstation creates a `first-boot.json` file with some initial settings. + + On UNIX and Linux-based machines, the second shell script executes the `chef-client` binary with the `first-boot.json` file on the node. + + On Windows machines, the batch file that's derived from the `windows-chef-client-msi.erb` bootstrap template executes the `chef-client` binary with the `first-boot.json` file on the node. + +1. **Complete the Chef Infra Client run** + + The Chef Infra Client run proceeds using HTTPS (port 443) and registers the node with Chef Infra Server.