From 4861cf52773517ab58186aad1690b216bb6fe2f7 Mon Sep 17 00:00:00 2001 From: Joseph Cayouette Date: Fri, 28 Feb 2025 13:49:11 +0100 Subject: [PATCH] Payg azure update jcayouette (#3746) * update * update --- CHANGELOG.md | 1 + .../assets/images/AzureManagedApp.png | Bin 0 -> 87311 bytes .../assets/images/AzureManagedApp.svg | 755 ++++++++++++++++++ .../azure/payg-azure-configure-the-image.adoc | 150 +++- ...g-azure-connections-and-bootstrapping.adoc | 1 - .../azure/payg-azure-public-cloud-images.adoc | 62 +- .../payg/azure/payg-azure-requirements.adoc | 55 +- .../payg/azure/payg-azure-server-setup.adoc | 96 ++- .../azure/payg-azure-webui-configuration.adoc | 2 +- .../payg/payg-overview.adoc | 3 +- 10 files changed, 1051 insertions(+), 74 deletions(-) create mode 100644 modules/specialized-guides/assets/images/AzureManagedApp.png create mode 100644 modules/specialized-guides/assets/images/AzureManagedApp.svg diff --git a/CHANGELOG.md b/CHANGELOG.md index fca0368a606..30bfad9a90f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ +- Updated instructions for deploying PAYG on Azure - Added instructions for Server installation on SUSE Linux Enterprise Server 15 SP6 to Installation and Upgrade Guide - Add section about container image inspection to Image diff --git a/modules/specialized-guides/assets/images/AzureManagedApp.png b/modules/specialized-guides/assets/images/AzureManagedApp.png new file mode 100644 index 0000000000000000000000000000000000000000..1d78d22ff61fd715e3120d392cd5e0dc9d9fe439 GIT binary patch literal 87311 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 I6+xf>A0GQ2TL1t6 literal 0 HcmV?d00001 diff --git a/modules/specialized-guides/assets/images/AzureManagedApp.svg b/modules/specialized-guides/assets/images/AzureManagedApp.svg new file mode 100644 index 00000000000..33c1f3f22a7 --- /dev/null +++ b/modules/specialized-guides/assets/images/AzureManagedApp.svg @@ -0,0 +1,755 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Customer Tenant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Icon-general-7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Managed Resource Group (MRG) + + + + Icon-general-7 + + + + + + + + + + + + + + + + + + + + Res.Group A + + + + Icon-general-7 + + + + + + + + + + + + + + + + + + + + Res.Group Z + + + + + + + + + + + + + Customer + + + + Icon-compute-21 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Icon-web-41 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Icon-storage-86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Publisher + + + + Icon-general-8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Azure Portal + + + + + + + + + + + + + + + + + + + + + + + + + + Managed Application + + + + + + SUMa VM + + + + + + Storage + + + + + + Network + + + + Icon-general-8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MarketplaceBillingAPI + + + + + + + + + + + + + Emit billing meter + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-configure-the-image.adoc b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-configure-the-image.adoc index 3f2634136d2..49bfc5a5ba6 100644 --- a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-configure-the-image.adoc +++ b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-configure-the-image.adoc @@ -5,49 +5,147 @@ endif::[] This section covers initial preparation and configuration of the Managed Application on {azure}. -.Procedure: Configuring your {productname} instance +== Configuring your {productname} instance -. Start by logging into your Azure account at Azure Portal. +There are two tabs you need to fill out: _Basics_ and _Virtual Machine Settings_. -. In the Azure Portal, find the menu:[Virtual Machines] section. This can be done either through the **dashboard** or by using the **search bar**. +=== Fill Out the _Basics_ Tab -. Select menu:[Create a resource] in the top left corner of the portal. +.. Project Details + ... As with every resource in Azure, you need to provide a _Resource Group_ (RG). This can be an existing RG or you can create a new RG for this deployment. -. Choose menu:[Compute] and then select menu:[Virtual Machine]. +.. Instance Details + ... Region – where the instance should run. + ... Virtual Machine Name – the name of the VM in which {productname} will run. + ... Username – the administrator account for the {productname} VM. + ... SSH Key Source and Key – needed to access the machine. -. You will be guided through the **Create a virtual machine** process. ++ +[NOTE] +==== +We do not allow the use of a password here. This is to reduce the risk of brute force attacks. +==== + +.. Managed Application Details + ... Application Name – the name of the Managed Application. + ... Managed Resource Group (MRG) – where the {productname} VM and its resources will be deployed into. -. Fill in the required details such as subscription, resource group, and VM name. +=== Switch to the _Virtual Machine Settings_ Tab -. Choose a region for your VM. Ensure it complies with any geo-fencing policies you might have. +.. Instance Size + ... The default for the instance size is _D8as v5_, which is a good baseline for a production server. It provides enough resources for more data disks and IOPS throughput for disk and network. + https://learn.microsoft.com/en-us/azure/virtual-machines/dasv5-dadsv5-series -. In the **Image** dropdown, select the **{productname} {productnumber} with 24x7 Support ltd** or the **{productname} {productnumber} with 24x7 Support llc** image for your VM. If the image is not listed, select **Browse all public and private images** to find the required image. - - . Suggested sizes are selected by default for this VM. Configure optional features such as virtual CPUs, memory as required. ++ -. Set up an administrator account for the VM. This can be a username and SSH public key. +[NOTE] +==== +If you only need a test instance, you can go smaller and choose an instance size with 4 vCPUs and 16GB memory or use a _B-Series (Burstable)_ instance with a similar configuration. +==== -. Ensure the VM is connected to the appropriate virtual network (VNet) and subnet, especially if it needs to communicate with other specific services like {productname}. -For network requirements, see xref:specialized-guides:public-cloud-guide/payg/azure/payg-azure-server-setup.adoc[Azure Server Setup: Network Configuration]. ++ -. Configure additional settings such as storage, monitoring, or any extensions you may need. The following partitions are created by default when initializing the {azure} image: +.. Diagnostic Storage Account +... If you normally create a VM in the Azure portal, boot diagnostics are enabled by default using a managed storage account. You can choose an existing storage account or create a new one (default). -* **100 GB** for the root partition - -* **500 GB** for spacewalk storage - -* **80 GB** for the database. +.. OS Disk Size +... This is the root disk of the {productname} installation, which holds: +.... The OS and the {productname} application. +.... [path]``/var/cache`` – where you need to provide storage space for each product you want to manage. + ++ -. Once all configurations are set, review the settings. +The proposed default of 100GB should be accepted. -. Click "Create" to deploy your VM. +.. Database Disk Size +... This holds the Database for {productname} and needs a minimum of 50GB. The proposed value of 80GB is a good default suggestion. -. After the VM is deployed, you can access it via SSH. +.. Spacewalk Disk Size +... This holds the package repositories and should have at least 100GB. Additional requirements include: +.... 50GB for every SUSE product. +.... >360GB for every RedHat or other Linux product. + ++ -[NOTE] -.Usage and Costs +The proposed default of 500GB is a safe default to start with. + ++ + +[NOTE] ==== -Keep in mind that since this is a {payg} image, you will be billed according to your actual usage, including the number of systems you **manage** and **monitor** with this instance. It's essential to regularly track and review your usage to prevent unexpected costs and ensure alignment with your needs. +Repository synchronization will fail if this directory runs out of disk space. +==== ++ + +.. Public IP Address for the VM +... By default, a Public IP Address is created to access the {productname} VM and Application. +.... *If you use it, please ensure this is secure and access is limited.* + ++ + +[IMPORTANT] +==== +Running {productname} on the public cloud means implementing robust security measures. It is essential to limit, filter, monitor, and audit access to the instance. SUSE strongly advises against a globally accessible {productname} instance that lacks adequate perimeter security. ==== ++ + +You should carefully consider this, as the {productname} Server will have access to all managed nodes. If someone gains access to {productname}, it would mean access to all managed nodes as well. Threat actors actively scan for accessible machines with open management ports (e.g., SSH or RDP), especially on cloud providers. + ++ + +A Network Security Group (NSG) is created by default if you choose to create a Public IP. It only allows inbound SSH access via port 22 as a minimal protection for the public IP. + ++ + +It is recommended to additionally restrict access to a defined list of networks and allow Azure's virtual network to drop requests originating from other networks. + ++ + +Furthermore, you can add Just-in-Time access and/or use the Azure Bastion Service, Firewall, VPN, or private network methods to secure public access. + ++ +You can choose not to create a Public IP address (which is more secure), but you will need to use other methods to access the created {productname} VM and its Web UI for further configuration. Additionally, you must take care of the DNS and ensure a correct FQDN. + +.. DNS Prefix for the Public IP Address + +... The {productname} server must resolve its FQDN correctly. If the FQDN cannot be resolved, it can cause issues in several {productname} components. + +... To ensure that the {productname} domain name can be resolved by its clients, both server and client machines must be connected to a working DNS server. You also need to ensure that *reverse lookups* are correctly configured. + ++ + +If you use the Public IP address, a DNS name is automatically created from Azure. You only need to ensure that a unique name is used. The default suggestion creates one by including a random number to make the domain name unique. + ++ + +If you do not use the Public IP, you need to make sure that your setup can resolve the FQDN correctly as mentioned above. + +.. Virtual Network / Subnet + +... You will see a default proposal for a virtual network where {productname} will reside. By clicking _edit_, you can adjust it to your needs. + +... Remember that a _Managed Application_ will be deployed from SUSE to your Azure tenant. Therefore, this network is the network in the _Managed Resource Group (MRG)_ and cannot overlap with existing networks. + ++ + +At a later stage, you need to peer this network to the network with the nodes you want to manage. Alternatively, you can create the managed nodes within this network. + ++ + +With all fields filled out, press _Next_ or _Create_. The Azure portal will perform a final check and provide a summary screen of this deployment. + ++ + +If everything is correct, press _Create_ to deploy the _Managed Application_ for {productname}. + +=== After Deployment + +After the VM is deployed, you can access it via SSH. + +.Usage and Costs +[NOTE] +==== +Keep in mind that since this is a {payg} image, you will be billed according to your actual usage, including the number of systems you **manage** and **monitor** with this instance. It's essential to regularly track and review your usage to prevent unexpected costs and ensure alignment with your needs. +==== \ No newline at end of file diff --git a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-connections-and-bootstrapping.adoc b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-connections-and-bootstrapping.adoc index 830ce1a8bf8..dd7fe61c8b0 100644 --- a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-connections-and-bootstrapping.adoc +++ b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-connections-and-bootstrapping.adoc @@ -95,4 +95,3 @@ tcp_keepalive_cnt: 3 ---- . Restart the [literal]`venv-salt-minion service`. - diff --git a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-public-cloud-images.adoc b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-public-cloud-images.adoc index 943b927868a..1656d03c28b 100644 --- a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-public-cloud-images.adoc +++ b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-public-cloud-images.adoc @@ -4,30 +4,60 @@ ifeval::[{uyuni-content} == true] endif::[] Follow these step-by-step instructions to locate the {productname} {productnumber} {payg} image on {azure}. -You can also review the latest available images for the public cloud using Pint (Public Cloud Information Tracker). -See: link:https://pint.suse.com/[pint.suse.com] +. Firstly, log in to your Azure account, via https://portal.azure.com + ++ + +This makes sure that the Azure system is able to identify in which country your account get billed. + ++ + +It is important, as billing for {productname} {payg} is handled via the Azure Marketplace. +As there are restrictions on which countries this listing can be billed, the account you will transact to should be the one you are logged into. + ++ There are currently two offers for {productname} {payg} on {azure}: -* **{productname} {productnumber} with 24x7 Support ltd** -* **{productname} {productnumber} with 24x7 Support llc** +* ** {productname} {productnumber} with 24x7 Support (EMEA Orders only)** +* **{productname} {productnumber} with 24x7 Support** + ++ + +Pick the listing that reflects in which country your Azure account gets billed. It depends on the _sold to address_ of the account, see https://learn.microsoft.com/azure/cost-management-billing/manage/change-azure-account-profile. + ++ + +[NOTE] +==== +Do *not* go directly to the Azure Marketplace and get the offer. Even if the offers are visible, they should not be selected from here, as the Azure Web page is not able to identify your billing account. *Always log into the portal first* +==== + +. After you are logged into the Azure Portal, click btn:[Create a resource]. + +. Enter {productname} {productnumber} into the search field on the top and press kbd:[RETURN] + ++ + +You get a list of offerings and need to select the version of _{productname} {productnumber} with 24x7 Support_ depending on your billing country. + ++ +For example, for an account billed in Germany, it would be _{productname} {productnumber} with 24x7 Support (EMEA Orders Only)_. -.Procedure: Obtaining the {productname} {payg} Image on {azure} -. Start by logging into your {azure} account at {azure} Portal. ++ -. Once logged in, navigate to the **Virtual Machines** section. - This can be found in the dashboard or by using the search bar at the top of the {azure} Portal. +[NOTE] +==== +The offer show up as _Azure Application_ and not as a _Virtual Machine_ +==== -. Click on **Create a Virtual Machine.** - Here, you will be asked to fill in details such as the subscription, resource group, and virtual machine name. +. Click the description text to get the Product description and then on btn:[Plans + Pricing]. If this is shown with a description and plan, you have chosen the right offer. If there is nothing shown you selected the wrong one. -. During the creation of a virtual machine there is an option for **Image.** - Select the correct cloud image for your VM. +. Next, click on the btn:[Create_ button] -. If you do not find the image you need, you can browse the {azure} Marketplace. - Click on **See all images** or go to the **Marketplace** and search for the image you need. ++ -. After selecting your image, continue with the configuration of your virtual machine. - Review all settings, and then create your VM. +This will bring you to a form similar you may know from creating other Azure resources. +There are two tabs you need to fill _Basic_ and _Virtual Machine Settings_ \ No newline at end of file diff --git a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-requirements.adoc b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-requirements.adoc index adc71bc528c..3535171aa2b 100644 --- a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-requirements.adoc +++ b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-requirements.adoc @@ -5,14 +5,57 @@ endif::[] The {productname} {payg} offering in Azure need to communicate with the Azure Billing API, therefore it is not a simple virtual machine (VM) offering. -When setting up a {productname} {payg} instance on {azure}, it s essential to consider system requirements for optimal performance and functionality. -The default requirements outlined below have been tailored for smooth deployment and operation. +Azure has created the Managed Application offering for this use case. +For more information, see https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/overview. -By default, certain disks are automatically generated when establishing a {productname} {payg} instance on {azure}. -To complete the setup of these disks, use the [literal]``mgr-storage-server tool. +.Architecture Diagram of a managed application +image::AzureManagedApp.svg[architecture of a managed application, 60%] + + + +== Application resource group + +This resource group ( in the diagram _ResGroup A_ ) holds the managed application instance, which could be translated as the metadata or definition of the offering. It can only contain a single resource. + +A customer has full access to the resource group and uses it to manage the life cycle of the managed application. + + + +== Managed resource group (MRG) + +This resource group ( in the diagram _MRG_ ) holds all the resources that are required by the managed application. For example, an application's virtual machines, storage accounts, and virtual networks. + +A _managed application_ is similar to a solution template in Azure Marketplace, with a few key differences: + +* The resources are deployed into a _managed resource group_ that is normally managed by the application's publisher. + +* It is present in the customer's subscription, but an identity in the publisher's tenant can be given access to the managed resource group. + +* The publisher's _management access_ and the customers _deny assignment_ are optional. + ++ + +There are different permission scenarios available. SUSE is using here the _Customer managed_ to give our customers of SUSE Manager full control. + +Customer managed:: + +* Customer +** Customer has full access to the solution (in the managed resource group) +** The customer manages the solution +* Publisher +** The publisher has no access to manage the solution. +** The publisher develops the application and publishes on Azure Marketplace but does not manage the application. +** The publisher licenses the application for billing through Azure Marketplace. + + + +== Instance requirements +When setting up a {productname} {payg} instance on {azure}, it's essential to consider system requirements for optimal performance and functionality. The default requirements outlined below have been tailored for smooth deployment and operation. + +By default, certain disks are automatically generated when establishing a {productname} {payg} instance on {azure}. To complete the setup of these disks, use the **mgr-storage-server** tool. .{azure} System Requirements -[cols="1,1"] +[cols="1,1", options="header"] |=== | Requirement | Details @@ -34,4 +77,4 @@ To complete the setup of these disks, use the [literal]``mgr-storage-server tool | Network Configuration | Typically configured by your organization -|=== +|=== \ No newline at end of file diff --git a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-server-setup.adoc b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-server-setup.adoc index 57f90058024..869f7109c13 100644 --- a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-server-setup.adoc +++ b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-server-setup.adoc @@ -5,26 +5,33 @@ ifeval::[{uyuni-content} == true] endif::[] .Procedure: Log in and Update the System -. SSH into your {azure} instance. +. Within the Managed Resource group you have set up, you will find the virtual machine. To get the details, click on the name of the virtual machine. +Here you can see the (public) IP address which you need to connect to the running instance. SSH into your {azure} instance. + +. Switch to the root user and update the system . -. Switch to the root user and update the system. + +[source,shell] ---- sudo -i transactional-update ---- -+ + . Reboot the system. + == Network Configuration // (Azure requirement, not ours). -For {productname} {payg} setup it is required, that a new Virtual Network and a new subnet is configured. -It is impossible to setup the instance in an existing network. -When you setup new clients which should be managed, take care that you put them into the private subnet which is configured with {productname} {payg}. +Remember, the {productname} {payg} setup requires, that a new Virtual Network and a new subnet is configured, which was performed in the previous step. +Because {productname} {payg} is deployed as a 'Managed Application' it is not possible to deploy into an existing network. + +Before moving on to the next step, ensure the network is correctly configured: + +When you setup new clients which should be managed, take care that you put them into the private subnet which is configured with {productname} {payg} or peer your networks. [NOTE] ==== @@ -37,10 +44,17 @@ For more information, see link:https://learn.microsoft.com/en-us/azure/virtual-n .Procedure: Network Configuration . Ensure the network configuration aligns such that `hostname -f` yields the identical name as the reverse DNS lookup of the private IP address. For instance, when executing `nslookup 10.0.0.X`. -. Insert the private IP with its Fully Qualified Domain Name (FQDN) into `/etc/hosts`. For example: + -`10.0.0.4 instancename.internal.cloudapp.net` +. Insert the private IP with its Fully Qualified Domain Name (FQDN) into `/etc/hosts`. + ++ + +For example: + ++ -. Edit `/etc/sysconfig/network/config` and append `internal.cloudapp.net` to `NETCONFIG_DNS_STATIC_SEARCHLIST`. +`10.0.0.4 _instancename.location_.internal.cloudapp.azure.com` + +. Edit `/etc/sysconfig/network/config` and append `internal.cloudapp.azure.com` to `NETCONFIG_DNS_STATIC_SEARCHLIST`. . Execute `netconfig update`. @@ -48,21 +62,25 @@ For more information, see link:https://learn.microsoft.com/en-us/azure/virtual-n [IMPORTANT] ==== -When adding new virtual machines (VMs), such as {sles} 15 SP5, it is crucial to ensure that they are configured within the same subnet as the {productname} instance. +When adding new virtual machines (VMs), such as {sles}, it's crucial to ensure that they are configured within the same subnet as the {productname} instance, or that you have setup network peering. This step is essential for successful network setup and integration. Additionally, be mindful of the geographical restrictions associated with your plans. -Make sure to utilize the appropriate Azure accounts which correspond to the specific geographic zones of your project. +Make sure to utilize the appropriate Azure accounts which correspond to the specific geographic zones of your project. ==== == Configure Storage .Procedure: Configuring Storage + . SSH into your {azure} instance. -. Switch to the root user and update the system. + +. Switch to the root user and update the system: + + +[source,shell] ---- sudo -i transactional-update @@ -70,28 +88,60 @@ transactional-update . Reboot the system. -. Configure storage with the [command]``mgr-storage-server`` tool or in the case of the proxy use [command]``mgr-storage-proxy``. -For more information, see [command]``mgr-storage-server --help`` or [command]``mgr-storage-proxy --help``. -This tool simplifies creating the container storage and database volumes. -. Format the command in the following manner: +. Configure storage using the appropriate tool: + +* For a standard setup, use [command]``mgr-storage-server``. +* For a proxy configuration, use [command]``mgr-storage-proxy``. + +For more details, run: + + +[source,shell] ---- -mgr-storage-server [] +mgr-storage-server --help +mgr-storage-proxy --help ---- + +These tools simplify the creation of container storage and database volumes. + +. Identify the block devices: + + -For example: -+ + +[source,shell] ---- -mgr-storage-server /dev/nvme1n1 /dev/nvme2n1 +ls /dev/disk/azure/scsi1/ ---- + +This command lists the disks created during deployment. Typically: + +* `lun3` is the storage disk. +* `lun4` is the database disk. + +. Configure storage using the identified devices: + + +[source,shell] +---- +mgr-storage-server /dev/disk/azure/scsi1/lun3 /dev/disk/azure/scsi1/lun4 +---- + [NOTE] ==== -This command will create the following persistent storage volumes at [path]``/var/lib/containers/storage/volumes``: +This command creates persistent storage volumes at: -For more information, see xref:installation-and-upgrade:container-management/persistent-container-volumes.adoc[]. +[path]``/var/lib/containers/storage/volumes`` + +For more details, see xref:installation-and-upgrade:container-management/persistent-container-volumes.adoc[]. ==== -. As root run `mgradm install podman ` to deploy. +. Deploy using `mgradm` as root: + ++ + +[source,shell] +---- +mgradm install podman +---- diff --git a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-webui-configuration.adoc b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-webui-configuration.adoc index ea5d5f72df6..d61a75ce6c6 100644 --- a/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-webui-configuration.adoc +++ b/modules/specialized-guides/pages/public-cloud-guide/payg/azure/payg-azure-webui-configuration.adoc @@ -61,4 +61,4 @@ Ubuntu and Debian are not currently supported by our RMT servers. {productname} offers support for {rhel} clients; however it is important to note that content still needs to be added manually and is not available through the cloud-based RMT service. For more information, see xref:client-configuration:registration-overview-redhat.adoc[Red Hat Client Registration]. -==== +==== \ No newline at end of file diff --git a/modules/specialized-guides/pages/public-cloud-guide/payg/payg-overview.adoc b/modules/specialized-guides/pages/public-cloud-guide/payg/payg-overview.adoc index a59f89d1b04..52acc8c098b 100644 --- a/modules/specialized-guides/pages/public-cloud-guide/payg/payg-overview.adoc +++ b/modules/specialized-guides/pages/public-cloud-guide/payg/payg-overview.adoc @@ -26,6 +26,7 @@ The email should include proof of at least 10 active SLES for SAP {payg} instanc The subscription key is valid for one year and can be renewed by providing updated proof of the instances at the end of the subscription period. ==== + == Benefits of Using {payg} The {productname} {payg} instance offers a flexible solution tailored to the modern business landscape. @@ -41,4 +42,4 @@ Key benefits include: * *Rapid Deployment:* Quickly run the image of your choice and begin managing your systems, enhancing responsiveness to your needs. -* *Integration with Cloud Services:* Leverage {productname} {payg} on {aws}, {azure}, or {gcp} taking advantage of cloud infrastructure for an agile systems management experience. +* *Integration with Cloud Services:* Leverage {productname} {payg} on {aws}, {azure}, or {gcp} taking advantage of cloud infrastructure for an agile systems management experience. \ No newline at end of file