Skip to content

Commit 3d80391

Browse files
authored
Merge pull request #232276 from divargas-msft/patch-6
[Doc-a-thon] Updating agent-linux.md Linux versions
2 parents b200b3f + bfea203 commit 3d80391

File tree

1 file changed

+88
-33
lines changed

1 file changed

+88
-33
lines changed

articles/virtual-machines/extensions/agent-linux.md

Lines changed: 88 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -52,27 +52,31 @@ The Microsoft Azure Linux Agent (waagent) manages Linux & FreeBSD provisioning,
5252
* VM Extension reference implementation on [https://github.com/Azure/azure-linux-extensions](https://github.com/Azure/azure-linux-extensions)
5353

5454
## Communication
55+
5556
The information flow from the platform to the agent occurs via two channels:
5657

5758
* 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.
5859
* A TCP endpoint exposing a REST API used to obtain deployment and topology configuration.
5960

6061
## Requirements
62+
6163
The following systems have been tested and are known to work with the Azure Linux Agent:
6264

6365
> [!NOTE]
6466
> This list may differ from the official list of [supported distros](../linux/endorsed-distros.md).
65-
>
66-
>
67+
>
68+
>
6769
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+
7374
* 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)
7680
7781
Other Supported Systems:
7882

@@ -91,18 +95,21 @@ The Linux agent depends on some system packages in order to function properly:
9195

9296
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).
9397

94-
9598
## Installation
99+
96100
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.
97101

98102
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.
99103

100104
## Command-Line Options
105+
101106
### Flags
107+
102108
* verbose: Increase verbosity of specified command
103109
* force: Skip interactive confirmation for some commands
104110

105111
### Commands
112+
106113
* help: Lists the supported commands and flags.
107114
* deprovision: Attempt to clean the system and make it suitable for reprovisioning. The following operation deletes:
108115

@@ -114,8 +121,9 @@ Refer to the documentation in the [Azure Linux Agent repo on GitHub](https://git
114121

115122
> [!WARNING]
116123
> Deprovisioning does not guarantee that the image is cleared of all sensitive information and suitable for redistribution.
117-
>
118-
>
124+
125+
>
126+
>
119127
120128
* 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.
121129
* version: Displays the version of waagent
@@ -126,6 +134,7 @@ Refer to the documentation in the [Azure Linux Agent repo on GitHub](https://git
126134
* start: Run waagent as a background process
127135

128136
## Configuration
137+
129138
A configuration file (/etc/waagent.conf) controls the actions of waagent.
130139
The following shows a sample configuration file:
131140

@@ -158,176 +167,222 @@ AutoUpdate.Enabled=y
158167
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:
159168

160169
**Provisioning.Enabled:**
170+
161171
```txt
162172
Type: Boolean
163173
Default: y
164174
```
175+
165176
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.
166177

167178
> [!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+
>
171182
172183
**Provisioning.DeleteRootPassword:**
184+
173185
```txt
174186
Type: Boolean
175187
Default: n
176188
```
189+
177190
If set, the root password in the /etc/shadow file is erased during the provisioning process.
178191

179192
**Provisioning.RegenerateSshHostKeyPair:**
193+
180194
```txt
181195
Type: Boolean
182196
Default: y
183197
```
198+
184199
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.
185200

186201
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).
187202

188203
**Provisioning.SshHostKeyPairType:**
204+
189205
```txt
190206
Type: String
191207
Default: rsa
192208
```
209+
193210
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".
194211

195212
**Provisioning.MonitorHostName:**
213+
196214
```txt
197215
Type: Boolean
198216
Default: y
199217
```
218+
200219
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.
201220

202-
**Provisioning.DecodeCustomData**
221+
**Provisioning.DecodeCustomData:**
222+
203223
```txt
204224
Type: Boolean
205225
Default: n
206226
```
227+
207228
If set, waagent decodes CustomData from Base64.
208229

209-
**Provisioning.ExecuteCustomData**
230+
**Provisioning.ExecuteCustomData:**
231+
210232
```txt
211233
Type: Boolean
212234
Default: n
213235
```
236+
214237
If set, waagent executes CustomData after provisioning.
215238

216-
**Provisioning.AllowResetSysUser**
239+
**Provisioning.AllowResetSysUser:**
240+
217241
```txt
218242
Type: Boolean
219243
Default: n
220244
```
245+
221246
This option allows the password for the sys user to be reset; default is disabled.
222247

223-
**Provisioning.PasswordCryptId**
248+
**Provisioning.PasswordCryptId:**
249+
224250
```txt
225251
Type: String
226252
Default: 6
227253
```
254+
228255
Algorithm used by crypt when generating password hash.
229256
1 - MD5
230257
2a - Blowfish
231258
5 - SHA-256
232259
6 - SHA-512
233260

234-
**Provisioning.PasswordCryptSaltLength**
261+
**Provisioning.PasswordCryptSaltLength:**
262+
235263
```txt
236264
Type: String
237265
Default: 10
238266
```
267+
239268
Length of random salt used when generating password hash.
240269

241-
**ResourceDisk.Format:**
270+
**ResourceDisk.Format:**
271+
242272
```txt
243273
Type: Boolean
244274
Default: y
245275
```
276+
246277
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.
247278

248-
**ResourceDisk.Filesystem:**
279+
**ResourceDisk.Filesystem:**
280+
249281
```txt
250282
Type: String
251283
Default: ext4
252284
```
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.
254287

255288
**ResourceDisk.MountPoint:**
289+
256290
```txt
257291
Type: String
258292
Default: /mnt/resource
259293
```
294+
260295
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.
261296

262-
**ResourceDisk.MountOptions**
297+
**ResourceDisk.MountOptions:**
298+
263299
```txt
264300
Type: String
265301
Default: None
266302
```
303+
267304
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.
268305

269306
**ResourceDisk.EnableSwap:**
307+
270308
```txt
271309
Type: Boolean
272310
Default: n
273311
```
312+
274313
If set, a swap file (/swapfile) is created on the resource disk and added to the system swap space.
275314

276-
**ResourceDisk.SwapSizeMB:**
315+
**ResourceDisk.SwapSizeMB:**
316+
277317
```txt
278318
Type: Integer
279319
Default: 0
280320
```
321+
281322
The size of the swap file in megabytes.
282323

283324
**Logs.Verbose:**
325+
284326
```txt
285327
Type: Boolean
286328
Default: n
287329
```
330+
288331
If set, log verbosity is boosted. Waagent logs to `/var/log/waagent.log` and utilizes the system logrotate functionality to rotate logs.
289332

290-
**OS.EnableRDMA**
333+
**OS.EnableRDMA**
334+
291335
```txt
292336
Type: Boolean
293337
Default: n
294338
```
339+
295340
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.
296341

297-
**OS.RootDeviceScsiTimeout:**
342+
**OS.RootDeviceScsiTimeout:**
343+
298344
```txt
299345
Type: Integer
300346
Default: 300
301347
```
348+
302349
This setting configures the SCSI timeout in seconds on the OS disk and data drives. If not set, the system defaults are used.
303350

304-
**OS.OpensslPath:**
351+
**OS.OpensslPath:**
352+
305353
```txt
306354
Type: String
307355
Default: None
308356
```
357+
309358
This setting can be used to specify an alternate path for the openssl binary to use for cryptographic operations.
310359

311-
**HttpProxy.Host, HttpProxy.Port**
360+
**HttpProxy.Host, HttpProxy.Port:**
361+
312362
```txt
313363
Type: String
314364
Default: None
315365
```
316-
If set, the agent uses this proxy server to access the internet.
317366

318-
**AutoUpdate.Enabled**
367+
If set, the agent uses this proxy server to access the internet.
368+
369+
**AutoUpdate.Enabled:**
370+
319371
```txt
320372
Type: Boolean
321373
Default: y
322374
```
375+
323376
Enable or disable auto-update for goal state processing; default is enabled.
324377

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).
327381

328382
This can be disabled by editing ```/etc/waagent.conf``` updating ```Logs.Collect``` to ```n```
329383

330384
## Ubuntu Cloud Images
385+
331386
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:
332387

333388
* **Provisioning.Enabled** defaults to "n" on Ubuntu Cloud Images that use cloud-init to perform provisioning tasks.

0 commit comments

Comments
 (0)