Skip to content

Commit 2e62619

Browse files
Merge pull request #222085 from Padmalathas/Padmalathas-patch-1
Updated SLES httpd package to apache2
2 parents 7af8362 + f93abeb commit 2e62619

File tree

2 files changed

+33
-19
lines changed

2 files changed

+33
-19
lines changed

articles/virtual-machines/linux/quick-create-portal.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.service: virtual-machines
66
ms.collection: linux
77
ms.topic: quickstart
88
ms.workload: infrastructure
9-
ms.date: 08/01/2022
9+
ms.date: 12/21/2022
1010
ms.author: cynthn
1111
ms.custom: mvc, mode-ui
1212
---
@@ -87,11 +87,27 @@ ssh -i ~/Downloads/myKey.pem [email protected]
8787

8888
To see your VM in action, install the NGINX web server. From your SSH session, update your package sources and then install the latest NGINX package.
8989

90+
# [Ubuntu](#tab/ubuntu)
91+
9092
```bash
9193
sudo apt-get -y update
9294
sudo apt-get -y install nginx
9395
```
9496

97+
# [Suse Linux](#tab/SLES)
98+
99+
```bash
100+
sudo zypper --non-interactive update
101+
sudo zypper --non-interactive install nginx
102+
```
103+
104+
# [Red Hat Enterprise Linux](#tab/rhel)
105+
106+
```bash
107+
sudo dnf update
108+
sudo dnf install nginx
109+
```
110+
---
95111
When done, type `exit` to leave the SSH session.
96112

97113

articles/virtual-machines/linux/using-cloud-init.md

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ ms.subservice: extensions
77
ms.collection: linux
88
ms.workload: infrastructure-services
99
ms.topic: how-to
10-
ms.date: 07/29/2021
10+
ms.date: 12/21/2022
1111
ms.author: srijangupta
1212

1313
---
1414
# cloud-init support for virtual machines in Azure
1515

1616
**Applies to:** :heavy_check_mark: Linux VMs :heavy_check_mark: Flexible scale sets
1717

18-
This article explains the support that exists for [cloud-init](https://cloudinit.readthedocs.io) to configure a virtual machine (VM) or virtual machine scale sets at provisioning time in Azure. These cloud-init configurations are run on first boot once the resources have been provisioned by Azure.
18+
This article explains the support that exists for [cloud-init](https://cloudinit.readthedocs.io) to configure a virtual machine (VM) or Virtual Machine Scale Sets at provisioning time in Azure. These cloud-init configurations are run on first boot once the resources have been provisioned by Azure.
1919

2020
VM Provisioning is the process where the Azure will pass down your VM Create parameter values, such as hostname, username, and password, and make them available to the VM as it boots up. A 'provisioning agent' will consume those values, configure the VM, and report back when completed.
2121

@@ -29,11 +29,10 @@ cloud-init also works across distributions. For example, you don't use **apt-get
2929
We're actively working with our endorsed Linux distro partners in order to have cloud-init enabled images available in the Azure Marketplace.
3030
These images will make your cloud-init deployments and configurations work seamlessly with VMs and virtual machine scale sets. Initially we collaborate with the endorsed Linux distro partners and upstream to ensure cloud-init functions with the OS on Azure, then the packages are updated and made publicly available in the distro package repositories.
3131

32-
There are two stages to making cloud-init available to the endorsed Linux distro OS's on Azure, package support, and then image support:
32+
There are two stages to making cloud-init available to the supported Linux distributions on Azure, package support, and then image support:
3333
* 'cloud-init package support on Azure' documents, which cloud-init packages onwards are supported or in preview, so you can use these packages with the OS in a custom image.
3434
* 'image cloud-init ready' documents if the image is already configured to use cloud-init.
3535

36-
3736
### Canonical
3837
| Publisher / Version| Offer | SKU | Version | image cloud-init ready | cloud-init package support on Azure|
3938
|:--- |:--- |:--- |:--- |:--- |:--- |
@@ -106,7 +105,7 @@ Currently Azure Stack will support the provisioning of cloud-init enabled images
106105
## What is the difference between cloud-init and the Linux Agent (WALA)?
107106
WALA is an Azure platform-specific agent used to provision and configure VMs, and handle [Azure extensions](../extensions/features-linux.md).
108107

109-
We are enhancing the task of configuring VMs to use cloud-init instead of the Linux Agent in order to allow existing cloud-init customers to use their current cloud-init scripts, or new customers to take advantage of the rich cloud-init configuration functionality. If you have existing investments in cloud-init scripts for configuring Linux systems, there are **no additional settings required** to enable cloud-init process them.
108+
We're enhancing the task of configuring VMs to use cloud-init instead of the Linux Agent in order to allow existing cloud-init customers to use their current cloud-init scripts, or new customers to take advantage of the rich cloud-init configuration functionality. If you have existing investments in cloud-init scripts for configuring Linux systems, there are **no additional settings required** to enable cloud-init process them.
110109

111110
cloud-init cannot process Azure extensions, so WALA is still required in the image to process extensions, but will need to have its provisioning code disabled, for endorsed Linux distros images that are being converted to provision by cloud-init, they will have WALA installed, and setup correctly.
112111

@@ -115,10 +114,10 @@ When creating a VM, if you don't include the Azure CLI `--custom-data` switch at
115114
cloud-init configurations applied to VMs do not have time constraints and will not cause a deployment to fail by timing out. This isn't true for WALA, if you change the WALA defaults to process custom-data, it can't exceed the total VM provisioning time allowance of 40 minutes, if so, the VM Create will fail.
116115

117116
## cloud-init VM provisioning without a UDF driver
118-
Beginning with cloud-init 21.2, you can use cloud-init to provision a VM in Azure without a UDF driver. If a UDF driver isn't available in the image, cloud-init uses the metadata that's available in the Azure Instance Metadata Service to provision the VM. Note that this option works only for SSH key and [user data](../user-data.md). To pass in a password or custom data to a VM during provisioning, you must use a UDF driver.
117+
Beginning with cloud-init 21.2, you can use cloud-init to provision a VM in Azure without a UDF driver. If a UDF driver isn't available in the image, cloud-init uses the metadata that's available in the Azure Instance Metadata Service to provision the VM. This option works only for SSH key and [user data](../user-data.md). To pass in a password or custom data to a VM during provisioning, you must use a UDF driver.
119118

120119
## Deploying a cloud-init enabled Virtual Machine
121-
Deploying a cloud-init enabled virtual machine is as simple as referencing a cloud-init enabled distribution during deployment. Linux distribution maintainers have to choose to enable and integrate cloud-init into their base Azure published images. Once you have confirmed the image you want to deploy is cloud-init enabled, you can use the Azure CLI to deploy the image.
120+
Deploying a cloud-init enabled virtual machine is as simple as referencing a cloud-init enabled distribution during deployment. Linux distribution maintainers have to choose to enable and integrate cloud-init into their base Azure published images. Once you've confirmed the image you want to deploy is cloud-init enabled, you can use the Azure CLI to deploy the image.
122121

123122
The first step in deploying this image is to create a resource group with the [az group create](/cli/azure/group) command. An Azure resource group is a logical container into which Azure resources are deployed and managed.
124123

@@ -128,22 +127,21 @@ The following example creates a resource group named *myResourceGroup* in the *e
128127
az group create --name myResourceGroup --location eastus
129128
```
130129

131-
The next step is to create a file in your current shell, named *cloud-init.txt* and paste the following configuration. For this example, create the file in the Cloud Shell not on your local machine. You can use any editor you wish. Enter `sensible-editor cloud-init.txt` to create the file and see a list of available editors. Choose #1 to use the **nano** editor. Make sure that the whole cloud-init file is copied correctly, especially the first line:
130+
The next step is to create a file in your current shell, named *cloud-init.txt* and paste the following configuration. For this example, create the file in the Cloud Shell not on your local machine. You can use any editor of your choice. Enter `sensible-editor cloud-init.txt` to create the file and see a list of available editors. In this example, we're using the **nano** editor. Choose #1 to use the **nano** editor. Make sure that the whole cloud-init file is copied correctly, especially the first line:
132131

133-
```yaml
134-
#cloud-config
135-
package_upgrade: true
136-
packages:
137-
- httpd
138-
```
132+
SLES| Ubuntu | RHEL
133+
|:--- |:--- |:---
134+
| ` # cloud-config `<br>` package_upgrade: true `<br>` packages: `<br>` - apache2 ` | ` # cloud-config `<br>` package_upgrade: true `<br>` packages: `<br>` - httpd ` | ` # cloud-config `<br>` package_upgrade: true `<br>` packages: `<br>` - httpd ` |
135+
136+
139137
> [!NOTE]
140138
> cloud-init has multiple [input types](https://cloudinit.readthedocs.io/en/latest/topics/format.html), cloud-init will use first line of the customData/userData to indicate how it should process the input, for example `#cloud-config` indicates that the content should be processed as a cloud-init config.
141139
142140
Press <kbd>Ctrl + X</kbd> to exit the file, type <kbd>y</kbd> to save the file, and press <kbd>Enter</kbd> to confirm the file name on exit.
143141

144142
The final step is to create a VM with the [az vm create](/cli/azure/vm) command.
145143

146-
The following example creates a VM named `centos74` and creates SSH keys if they do not already exist in a default key location. To use a specific set of keys, use the `--ssh-key-value` option. Use the `--custom-data` parameter to pass in your cloud-init config file. Provide the full path to the *cloud-init.txt* config if you saved the file outside of your present working directory.
144+
The following example creates a VM named `centos74` and creates SSH keys if they don't already exist in a default key location. To use a specific set of keys, use the `--ssh-key-value` option. Use the `--custom-data` parameter to pass in your cloud-init config file. Provide the full path to the *cloud-init.txt* config if you saved the file outside of your present working directory.
147145

148146
```azurecli-interactive
149147
az vm create \
@@ -164,12 +162,12 @@ Once the VM has been provisioned, cloud-init will run through all the modules an
164162
> [!NOTE]
165163
> Not every module failure results in a fatal cloud-init overall configuration failure. For example, using the `runcmd` module, if the script fails, cloud-init will still report provisioning succeeded because the runcmd module executed.
166164
167-
For more details of cloud-init logging, refer to the [cloud-init documentation](https://cloudinit.readthedocs.io/en/latest/topics/logging.html)
165+
For more details of cloud-init logging, see the [cloud-init documentation](https://cloudinit.readthedocs.io/en/latest/topics/logging.html)
168166

169167
## Telemetry
170-
cloud-init collects usage data and sends it to Microsoft to help improve our products and services. Telemetry is only collected during the provisioning process (first boot of the VM). The data collected helps us investigate provisioning failures and monitor performance and reliability. Data collected does not include any personally identifiable information. Read our [privacy statement](https://go.microsoft.com/fwlink/?LinkId=521839) to learn more. Some examples of telemetry being collected are (this is not an exhaustive list): OS-related information (cloud-init version, distro version, kernel version), performance metrics of essential VM provisioning actions (time to obtain DHCP lease, time to retrieve metadata necessary to configure the VM, etc.), cloud-init log, and dmesg log.
168+
cloud-init collects usage data and sends it to Microsoft to help improve our products and services. Telemetry is only collected during the provisioning process (first boot of the VM). The data collected helps us investigate provisioning failures and monitor performance and reliability. Data collected doesn't include any identifiers (personal identifiers). Read our [privacy statement](https://go.microsoft.com/fwlink/?LinkId=521839) to learn more. Some examples of telemetry being collected are (this isn't an exhaustive list): OS-related information (cloud-init version, distro version, kernel version), performance metrics of essential VM provisioning actions (time to obtain DHCP lease, time to retrieve metadata necessary to configure the VM, etc.), cloud-init log, and dmesg log.
171169

172-
Telemetry collection is currently enabled for most of our marketplace images that use cloud-init. It is enabled by specifying KVP telemetry reporter for cloud-init. In most Azure Marketplace images, this configuration can be found in the file /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg. Removing this file during image preparation will disable telemetry collection for any VM created from this image.
170+
Telemetry collection is currently enabled for most of our marketplace images that uses cloud-init. It is enabled by specifying KVP telemetry reporter for cloud-init. In most Azure Marketplace images, this configuration can be found in the file /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg. Removing this file during image preparation will disable telemetry collection for any VM created from this image.
173171

174172
Sample content of 10-azure-kvp.cfg
175173
```

0 commit comments

Comments
 (0)