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
Copy file name to clipboardExpand all lines: articles/virtual-machines/extensions/agent-linux.md
+88-33Lines changed: 88 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,27 +52,31 @@ The Microsoft Azure Linux Agent (waagent) manages Linux & FreeBSD provisioning,
52
52
* VM Extension reference implementation on [https://github.com/Azure/azure-linux-extensions](https://github.com/Azure/azure-linux-extensions)
53
53
54
54
## Communication
55
+
55
56
The information flow from the platform to the agent occurs via two channels:
56
57
57
58
* A boot-time attached DVD for IaaS deployments. This DVD includes an OVF-compliant configuration file that includes all provisioning information other than the actual SSH keypairs.
58
59
* A TCP endpoint exposing a REST API used to obtain deployment and topology configuration.
59
60
60
61
## Requirements
62
+
61
63
The following systems have been tested and are known to work with the Azure Linux Agent:
62
64
63
65
> [!NOTE]
64
66
> This list may differ from the official list of [supported distros](../linux/endorsed-distros.md).
65
-
>
66
-
>
67
+
>
68
+
>
67
69
68
-
* CoreOS
69
-
* CentOS 6.3+
70
-
* Red Hat Enterprise Linux 6.7+
71
-
* Debian 7.0+
72
-
* Ubuntu 12.04+
70
+
* CentOS 7.x and 8.x
71
+
* Red Hat Enterprise Linux 6.7+, 7.x, and 8.x
72
+
* Debian 10+
73
+
* Ubuntu 18.04+
73
74
* openSUSE 12.3+
74
-
* SLES 11 SP3+
75
-
* Oracle Linux 6.4+
75
+
* SLES 12.x and 15.x
76
+
* Oracle Linux 6.4+, 7.x and 8.x
77
+
78
+
> [!IMPORTANT]
79
+
> RHEL/Oracle Linux 6.10 is the only RHEL/OL 6 version with ELS support available, [the extended maintenance ends on 06/30/2024](https://access.redhat.com/support/policy/updates/errata)
76
80
77
81
Other Supported Systems:
78
82
@@ -91,18 +95,21 @@ The Linux agent depends on some system packages in order to function properly:
91
95
92
96
Ensure your VM has access to IP address 168.63.129.16. For more information, see [What is IP address 168.63.129.16](../../virtual-network/what-is-ip-address-168-63-129-16.md).
93
97
94
-
95
98
## Installation
99
+
96
100
Installation using an RPM or a DEB package from your distribution's package repository is the preferred method of installing and upgrading the Azure Linux Agent. All the [endorsed distribution providers](../linux/endorsed-distros.md) integrate the Azure Linux agent package into their images and repositories.
97
101
98
102
Refer to the documentation in the [Azure Linux Agent repo on GitHub](https://github.com/Azure/WALinuxAgent) for advanced installation options, such as installing from source or to custom locations or prefixes.
99
103
100
104
## Command-Line Options
105
+
101
106
### Flags
107
+
102
108
* verbose: Increase verbosity of specified command
103
109
* force: Skip interactive confirmation for some commands
104
110
105
111
### Commands
112
+
106
113
* help: Lists the supported commands and flags.
107
114
* deprovision: Attempt to clean the system and make it suitable for reprovisioning. The following operation deletes:
108
115
@@ -114,8 +121,9 @@ Refer to the documentation in the [Azure Linux Agent repo on GitHub](https://git
114
121
115
122
> [!WARNING]
116
123
> Deprovisioning does not guarantee that the image is cleared of all sensitive information and suitable for redistribution.
117
-
>
118
-
>
124
+
125
+
>
126
+
>
119
127
120
128
* deprovision+user: Performs everything in -deprovision (above) and also deletes the last provisioned user account (obtained from `/var/lib/waagent`) and associated data. This parameter is when de-provisioning an image that was previously provisioning on Azure so it may be captured and reused.
121
129
* version: Displays the version of waagent
@@ -126,6 +134,7 @@ Refer to the documentation in the [Azure Linux Agent repo on GitHub](https://git
126
134
* start: Run waagent as a background process
127
135
128
136
## Configuration
137
+
129
138
A configuration file (/etc/waagent.conf) controls the actions of waagent.
130
139
The following shows a sample configuration file:
131
140
@@ -158,176 +167,222 @@ AutoUpdate.Enabled=y
158
167
The following various configuration options are described. Configuration options are of three types; Boolean, String, or Integer. The Boolean configuration options can be specified as "y" or "n". The special keyword "None" may be used for some string type configuration entries as the following details:
159
168
160
169
**Provisioning.Enabled:**
170
+
161
171
```txt
162
172
Type: Boolean
163
173
Default: y
164
174
```
175
+
165
176
This allows the user to enable or disable the provisioning functionality in the agent. Valid values are "y" or "n". If provisioning is disabled, SSH host and user keys in the image are preserved and any configuration specified in the Azure provisioning API is ignored.
166
177
167
178
> [!NOTE]
168
-
> The `Provisioning.Enabled` parameter defaults to "n" on Ubuntu Cloud Images that use cloud-init for provisioning.
169
-
>
170
-
>
179
+
> The `Provisioning.Enabled` parameter defaults to "n" on Linux Images that use cloud-init for provisioning.
180
+
>
181
+
>
171
182
172
183
**Provisioning.DeleteRootPassword:**
184
+
173
185
```txt
174
186
Type: Boolean
175
187
Default: n
176
188
```
189
+
177
190
If set, the root password in the /etc/shadow file is erased during the provisioning process.
178
191
179
192
**Provisioning.RegenerateSshHostKeyPair:**
193
+
180
194
```txt
181
195
Type: Boolean
182
196
Default: y
183
197
```
198
+
184
199
If set, all SSH host key pairs (ecdsa, dsa, and rsa) are deleted during the provisioning process from `/etc/ssh/`. And a single fresh key pair is generated.
185
200
186
201
The encryption type for the fresh key pair is configurable by the Provisioning.SshHostKeyPairType entry. Some distributions re-create SSH key pairs for any missing encryption types when the SSH daemon is restarted (for example, upon a reboot).
187
202
188
203
**Provisioning.SshHostKeyPairType:**
204
+
189
205
```txt
190
206
Type: String
191
207
Default: rsa
192
208
```
209
+
193
210
This can be set to an encryption algorithm type that is supported by the SSH daemon on the virtual machine. The typically supported values are "rsa", "dsa" and "ecdsa". "putty.exe" on Windows does not support "ecdsa". So, if you intend to use putty.exe on Windows to connect to a Linux deployment, use "rsa" or "dsa".
194
211
195
212
**Provisioning.MonitorHostName:**
213
+
196
214
```txt
197
215
Type: Boolean
198
216
Default: y
199
217
```
218
+
200
219
If set, waagent monitors the Linux virtual machine for hostname changes (as returned by the "hostname" command) and automatically update the networking configuration in the image to reflect the change. In order to push the name change to the DNS servers, networking is restarted in the virtual machine. This results in brief loss of Internet connectivity.
201
220
202
-
**Provisioning.DecodeCustomData**
221
+
**Provisioning.DecodeCustomData:**
222
+
203
223
```txt
204
224
Type: Boolean
205
225
Default: n
206
226
```
227
+
207
228
If set, waagent decodes CustomData from Base64.
208
229
209
-
**Provisioning.ExecuteCustomData**
230
+
**Provisioning.ExecuteCustomData:**
231
+
210
232
```txt
211
233
Type: Boolean
212
234
Default: n
213
235
```
236
+
214
237
If set, waagent executes CustomData after provisioning.
215
238
216
-
**Provisioning.AllowResetSysUser**
239
+
**Provisioning.AllowResetSysUser:**
240
+
217
241
```txt
218
242
Type: Boolean
219
243
Default: n
220
244
```
245
+
221
246
This option allows the password for the sys user to be reset; default is disabled.
222
247
223
-
**Provisioning.PasswordCryptId**
248
+
**Provisioning.PasswordCryptId:**
249
+
224
250
```txt
225
251
Type: String
226
252
Default: 6
227
253
```
254
+
228
255
Algorithm used by crypt when generating password hash.
229
256
1 - MD5
230
257
2a - Blowfish
231
258
5 - SHA-256
232
259
6 - SHA-512
233
260
234
-
**Provisioning.PasswordCryptSaltLength**
261
+
**Provisioning.PasswordCryptSaltLength:**
262
+
235
263
```txt
236
264
Type: String
237
265
Default: 10
238
266
```
267
+
239
268
Length of random salt used when generating password hash.
240
269
241
-
**ResourceDisk.Format:**
270
+
**ResourceDisk.Format:**
271
+
242
272
```txt
243
273
Type: Boolean
244
274
Default: y
245
275
```
276
+
246
277
If set, the resource disk provided by the platform is formatted and mounted by waagent if the filesystem type requested by the user in "ResourceDisk.Filesystem" is anything other than "ntfs". A single partition of type Linux (83) is made available on the disk. This partition is not formatted if it can be successfully mounted.
247
278
248
-
**ResourceDisk.Filesystem:**
279
+
**ResourceDisk.Filesystem:**
280
+
249
281
```txt
250
282
Type: String
251
283
Default: ext4
252
284
```
253
-
This specifies the filesystem type for the resource disk. Supported values vary by Linux distribution. If the string is X, then mkfs.X should be present on the Linux image. SLES 11 images should typically use 'ext3'. FreeBSD images should use 'ufs2' here.
285
+
286
+
This specifies the filesystem type for the resource disk. Supported values vary by Linux distribution. If the string is X, then mkfs.X should be present on the Linux image.
254
287
255
288
**ResourceDisk.MountPoint:**
289
+
256
290
```txt
257
291
Type: String
258
292
Default: /mnt/resource
259
293
```
294
+
260
295
This specifies the path at which the resource disk is mounted. The resource disk is a *temporary* disk, and might be emptied when the VM is deprovisioned.
261
296
262
-
**ResourceDisk.MountOptions**
297
+
**ResourceDisk.MountOptions:**
298
+
263
299
```txt
264
300
Type: String
265
301
Default: None
266
302
```
303
+
267
304
Specifies disk mount options to be passed to the mount -o command. This is a comma-separated list of values, ex. 'nodev,nosuid'. See mount(8) for details.
268
305
269
306
**ResourceDisk.EnableSwap:**
307
+
270
308
```txt
271
309
Type: Boolean
272
310
Default: n
273
311
```
312
+
274
313
If set, a swap file (/swapfile) is created on the resource disk and added to the system swap space.
275
314
276
-
**ResourceDisk.SwapSizeMB:**
315
+
**ResourceDisk.SwapSizeMB:**
316
+
277
317
```txt
278
318
Type: Integer
279
319
Default: 0
280
320
```
321
+
281
322
The size of the swap file in megabytes.
282
323
283
324
**Logs.Verbose:**
325
+
284
326
```txt
285
327
Type: Boolean
286
328
Default: n
287
329
```
330
+
288
331
If set, log verbosity is boosted. Waagent logs to `/var/log/waagent.log` and utilizes the system logrotate functionality to rotate logs.
289
332
290
-
**OS.EnableRDMA**
333
+
**OS.EnableRDMA**
334
+
291
335
```txt
292
336
Type: Boolean
293
337
Default: n
294
338
```
339
+
295
340
If set, the agent attempts to install and then load an RDMA kernel driver that matches the version of the firmware on the underlying hardware.
296
341
297
-
**OS.RootDeviceScsiTimeout:**
342
+
**OS.RootDeviceScsiTimeout:**
343
+
298
344
```txt
299
345
Type: Integer
300
346
Default: 300
301
347
```
348
+
302
349
This setting configures the SCSI timeout in seconds on the OS disk and data drives. If not set, the system defaults are used.
303
350
304
-
**OS.OpensslPath:**
351
+
**OS.OpensslPath:**
352
+
305
353
```txt
306
354
Type: String
307
355
Default: None
308
356
```
357
+
309
358
This setting can be used to specify an alternate path for the openssl binary to use for cryptographic operations.
310
359
311
-
**HttpProxy.Host, HttpProxy.Port**
360
+
**HttpProxy.Host, HttpProxy.Port:**
361
+
312
362
```txt
313
363
Type: String
314
364
Default: None
315
365
```
316
-
If set, the agent uses this proxy server to access the internet.
317
366
318
-
**AutoUpdate.Enabled**
367
+
If set, the agent uses this proxy server to access the internet.
368
+
369
+
**AutoUpdate.Enabled:**
370
+
319
371
```txt
320
372
Type: Boolean
321
373
Default: y
322
374
```
375
+
323
376
Enable or disable auto-update for goal state processing; default is enabled.
324
377
325
-
## Linux Guest Agent Automatic Logs Collection
326
-
As of version 2.7+, The azure linux guest agent has a feature to automatically collect some logs and upload them. This feature currently requires systemd, and utilizes a new systemd slice called azure-walinuxagent-logcollector.slice to manage resources while performing the collection. The log collector's goal is facilitate offline analysis, and therefore produces a ZIP file of some diagnostics logs before uploading them to the VM's Host. The ZIP file can then be retreived by Engineering Teams and Support professionals to investigate issues at the behest of the VM owner. More technical information on the files collected by the guest agent can be found in the azurelinuxagent/common/logcollector_manifests.py file in the [agent's GitHub repository](https://github.com/Azure/WALinuxAgent).
378
+
## Linux guest agent automatic logs collection
379
+
380
+
As of version 2.7+, The Azure Linux guest agent has a feature to automatically collect some logs and upload them. This feature currently requires systemd, and utilizes a new systemd slice called azure-walinuxagent-logcollector.slice to manage resources while performing the collection. The log collector's goal is to facilitate offline analysis, and therefore produces a ZIP file of some diagnostics logs before uploading them to the VM's Host. The ZIP file can then be retrieved by Engineering Teams and Support professionals to investigate issues at the behest of the VM owner. More technical information on the files collected by the guest agent can be found in the azurelinuxagent/common/logcollector_manifests.py file in the [agent's GitHub repository](https://github.com/Azure/WALinuxAgent).
327
381
328
382
This can be disabled by editing ```/etc/waagent.conf``` updating ```Logs.Collect``` to ```n```
329
383
330
384
## Ubuntu Cloud Images
385
+
331
386
Ubuntu Cloud Images utilize [cloud-init](https://launchpad.net/ubuntu/+source/cloud-init) to perform many configuration tasks that would otherwise be managed by the Azure Linux Agent. The following differences apply:
332
387
333
388
***Provisioning.Enabled** defaults to "n" on Ubuntu Cloud Images that use cloud-init to perform provisioning tasks.
0 commit comments