You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you are using Azure Resource Manager templates to create your infrastructure you can use the Chef extension to have Azure handle the bootstrapping/configuration of your node to your Chef Infra Server.
131
131
@@ -222,7 +222,7 @@ The extension has the following options that can be provided in the
222
222
223
223
: Verify the SSL certificate on the Chef Infra Server. When `true`, Chef Infra Client always verifies the SSL certificate. When `false`, Chef Infra Client uses the value of `ssl_verify_mode` to determine if the SSL certificate requires verification.
224
224
225
-
#### Protected Settings
225
+
#### Protected settings
226
226
227
227
The following options can be provided to the extension through the `protectedSettings` hash:
228
228
@@ -240,9 +240,9 @@ The following options can be provided to the extension through the `protectedSet
240
240
241
241
### Examples
242
242
243
-
The following examples show how Chef Infra Client can be installed and configured from an ARM template.
243
+
The following examples show how you can install and configure Chef Infra Client from an ARM template.
244
244
245
-
#### Installing the Azure Chef extension on a Linux system
245
+
#### Install the Azure Chef extension on a Linux system
246
246
247
247
```json
248
248
{
@@ -270,7 +270,7 @@ The following examples show how Chef Infra Client can be installed and configure
270
270
}
271
271
```
272
272
273
-
#### Installing the Azure Chef extension on a Windows system
273
+
#### Install the Azure Chef extension on a Windows system
274
274
275
275
```json
276
276
{
@@ -289,7 +289,7 @@ The following examples show how Chef Infra Client can be installed and configure
The `knife bootstrap`subcommand is used to run a bootstrap operation that installs Chef Infra Client on the target node. The following steps describe how to bootstrap a node using knife.
26
+
The `knife bootstrap`command runs a bootstrap operation that installs Chef Infra Client on a target node. The following steps describe how to bootstrap a node using knife.
27
27
28
28
1. Identify the FQDN or IP address of the target node. The `knife bootstrap` command requires the FQDN or the IP address for the node to complete the bootstrap operation.
29
29
30
-
2. Once the workstation machine is configured, it can be used to install Chef Infra Client on one (or more) nodes across the organization using a knife bootstrap operation. The `knife bootstrap` command is used to SSH into the target machine, and then do what is needed to allow Chef Infra Client to run on the node. It will install the Chef Infra Client executable (if necessary), generate keys, and register the node with the Chef Infra Server. The bootstrap operation requires the IP address or FQDN of the target system, the SSH credentials (username, password or identity file) for an account that has root access to the node, and (if the operating system is not Ubuntu, which is the default distribution used by `knife bootstrap`) the operating system running on the target system.
30
+
2. Once the workstation machine is configured, it can be used to install Chef Infra Client on one (or more) nodes across the organization using a knife bootstrap operation. The `knife bootstrap` command is used to SSH into the target machine, and then do what's needed to allow Chef Infra Client to run on the node. It will install the Chef Infra Client executable (if necessary), generate keys, and register the node with the Chef Infra Server. The bootstrap operation requires the IP address or FQDN of the target system, the SSH credentials (username, password or identity file) for an account that has root access to the node, and (if the operating system isn't Ubuntu, which is the default distribution used by `knife bootstrap`) the operating system running on the target system.
31
31
32
32
In a command window, enter the following:
33
33
34
34
```bash
35
-
knife bootstrap 172.16.1.233 -U USERNAME --sudo
35
+
knife bootstrap <ADDRESS> -U <USERNAME> --sudo
36
36
```
37
37
38
-
where `172.16.1.233` is the IP address or the FQDN for the node, and `USERNAME` is the username you want to use to connect, and `--sudo` specifies to elevate privileges using the sudo command on UNIX-based systems.
38
+
Replace:
39
39
40
-
Then while the bootstrap operation is running, the command window will show something similar to the following:
40
+
- `<ADDRESS>` the IP address or the FQDN of the node
41
+
- `<USERNAME>` with the username used to connect to the node
42
+
43
+
The `--sudo` option elevates privileges using the sudo command on UNIX-based systems.
44
+
45
+
While the bootstrap operation is running, the command window returns something similar to the following:
@@ -123,16 +128,16 @@ The `knife bootstrap` subcommand is used to run a bootstrap operation that insta
123
128
client2
124
129
```
125
130
126
-
## Validatorless and Legacy Validator Bootstraps
131
+
## Validatorless and legacy validator bootstraps
127
132
128
133
We recommended using "validatorless bootstrapping" to authenticate new nodes with the Chef Infra Server.
129
134
130
135
The legacy Chef Infra validator-based node bootstrapping process depended on using a shared "validatory" key throughout an organization for authenticating new nodes with the Chef Infra Server.
131
136
132
137
Shortcomings of the legacy validator process are:
133
138
134
-
* All users share the same key for bootstrapping new systems
135
-
* Key sharing makes key rotation difficult, if it is compromised or if an employee leaves the organization.
139
+
- All users share the same key for bootstrapping new systems
140
+
- Key sharing makes key rotation difficult, if it's compromised or if an employee leaves the organization.
136
141
137
142
The "validatorless bootstrap" generates a key for each node, which is then transferred to the new node and used to authenticate with the Chef Infra Server instead of relying on a shared "validator" key.
138
143
@@ -152,7 +157,7 @@ Use the following options with a validatorless bootstrap to specify items that a
152
157
153
158
`--bootstrap-vault-json VAULT_JSON`
154
159
155
-
: A JSON string that contains a list of vaults and items to be updated. --bootstrap-vault-json '{ "vault1": \["item1", "item2"\], "vault2": "item2" }'
160
+
: A JSON string that contains a list of vaults and items to be updated. `--bootstrap-vault-json '{ "vault1": \["item1", "item2"\], "vault2": "item2" }'`
156
161
157
162
## Examples
158
163
@@ -175,7 +180,7 @@ cat sea-power-content.json
175
180
knife vault create sea power -M client -A sean_horn,angle -J sea-power-content.json
176
181
```
177
182
178
-
No clients, because the `-S` option was not specified while creating the vault.
183
+
No clients, because the `-S` option wasn't specified while creating the vault.
179
184
180
185
At this time, only the users `sean_horn` and `angle` are authorized to read and manage the vault.
181
186
@@ -190,7 +195,7 @@ search_query:
190
195
some: content for them
191
196
```
192
197
193
-
It is definitely an encrypted databag, see?
198
+
It's definitely an encrypted databag, see?
194
199
195
200
```bash
196
201
knife data_bag show sea power
@@ -344,36 +349,37 @@ search_query:
344
349
some: content for them
345
350
```
346
351
347
-
## Unattended Installs
352
+
## Unattended installs
348
353
349
-
Chef Infra Client can be installed using an unattended bootstrap. This allows Chef Infra Client to be installed from itself, without requiring SSH. For example, machines are often created using environments like AWS Auto Scaling, AWS CloudFormation, Rackspace Auto Scale, and PXE. In this scenario, using tooling for attended, single-machine installs like `knife bootstrap` or `knife CLOUD_PLUGIN create` is not practical because the machines are created automatically and someone cannot always be on-hand to initiate the bootstrap process.
354
+
Chef Infra Client can be installed using an unattended bootstrap. This allows Chef Infra Client to be installed from itself, without requiring SSH. For example, machines are often created using environments like AWS Auto Scaling, AWS CloudFormation, Rackspace Auto Scale, and PXE. In this scenario, using tooling for attended, single-machine installs like `knife bootstrap` or `knife CLOUD_PLUGIN create` is not practical because the machines are created automatically and someone can't always be on-hand to initiate the bootstrap process.
350
355
351
356
When Chef Infra Client is installed using an unattended bootstrap, remember that Chef Infra Client:
352
357
353
-
* Must be able to authenticate to the Chef Infra Server
354
-
* Must be able to configure a run-list
355
-
* May require custom attributes, depending on the cookbooks that are being used
356
-
* Must be able to access the chef-validator.pemso that it may create a new identity on the Chef Infra Server
357
-
* Must have a unique node name; Chef Infra Client will use the FQDN for the host system by default
358
+
- Must be able to authenticate to the Chef Infra Server.
359
+
- Must be able to configure a run-list.
360
+
- May require custom attributes, depending on the cookbooks that are being used.
361
+
- Must be able to access the `chef-validator.pem` file so that it may create a new identity on the Chef Infra Server.
362
+
- Must have a unique node name; Chef Infra Client will use the FQDN for the host system by default.
358
363
359
364
When Chef Infra Client is installed using an unattended bootstrap, it may be built into an image that starts Chef Infra Client on boot, or installed using User Data or some other kind of post-deployment script. The type of image or User Data used depends on the platform on which the unattended bootstrap will take place.
360
365
361
-
### Bootstrapping with User Data
366
+
### Bootstrapping with user data
362
367
363
-
The method used to inject a user data script into a server will vary depending on the infrastructure platform being used. For example, on AWS you can pass this data in as a text file using the command line tool.
368
+
The method used to inject a user data script into a server varies depending on the infrastructure platform being used.
369
+
For example, on AWS you can pass this data in as a text file using the command line.
364
370
365
371
The following user data examples demonstrate the process of bootstrapping Windows and Linux nodes.
366
372
367
-
#### PowerShell User Data
373
+
#### PowerShell user data
368
374
369
375
```powershell
370
376
## Set host file so the instance knows where to find chef-server
It is important that settings in the [client.rb file](/config_rb_client/)---`chef_server_url`, `http_proxy`, and so on are used---to ensure that configuration details are built into the unattended bootstrap process.
456
+
It's important that settings in the [client.rb file](/config_rb_client/)---for example `chef_server_url` and `http_proxy`---are used to ensure that configuration details are built into the unattended bootstrap process.
0 commit comments