Deployment guide

CentOS Stream 9

Overview

CentOS Stream 9 is the continuously delivered upstream development branch of RHEL 9. This guide covers deploying and configuring it on Microsoft Azure, using the SecureAnyCloud pre-configured virtual machine image from the Azure Marketplace.

What you get:

  • CentOS Stream 9, the continuously delivered upstream development branch of RHEL 9, patched at build time to the latest package set
  • Azure Linux Agent (waagent) plus cloud-init for Azure provisioning and cloud integration
  • Chronyd for NTP time synchronization
  • SELinux in enforcing mode
  • Gen1 Hyper-V virtual machine support (BIOS boot)
  • 24/7 SecureAnyCloud support
  • Platform: Microsoft Azure (Gen1 Hyper-V)
  • Default user: azureuser

Prerequisites

Before you deploy this image, make sure that you have:

  • An active Microsoft Azure subscription
  • Access to the Azure portal or Azure CLI
  • An SSH key pair for Linux VM access
  • Familiarity with Azure VM management

Recommended VM size: Standard_B2s (2 vCPU, 4 GB RAM) or larger.

1

Deploy the Virtual Machine

Option A: Azure portal

  • Go to the Azure Marketplace and search for "CentOS Stream 9 on Azure SecureAnyCloud".
  • Select the image and click Create.
  • Configure the basics:
  • Subscription: select your Azure subscription.
  • Resource group: create a new one or select an existing one.
  • Virtual machine name: enter a name for your VM.
  • Region: select your preferred Azure region.
  • Size: Standard_B2s is recommended.
  • Under Administrator account, select SSH public key and enter your key.
  • Under Inbound port rules, allow SSH (port 22).
  • Click Review + create, then Create.

Option B: Azure CLI

Accept the Marketplace terms, then create the VM:

az vm image terms accept --urn sac1647283583153:centos-stream-9:default:latest
az vm create \
  --resource-group myResourceGroup \
  --name my-centos-stream-9-azure-vm \
  --image sac1647283583153:centos-stream-9:default:latest \
  --size Standard_B2s \
  --admin-username azureuser \
  --generate-ssh-keys \
  --public-ip-sku Standard
2

Connect via SSH

Once your VM is running, connect over SSH:

ssh azureuser@<public-ip-address>

To find your VM's public IP, run:

az vm show --resource-group myResourceGroup --name my-centos-stream-9-azure-vm --show-details --query publicIps -o tsv
3

Verify the Installation

After you connect, verify the operating system:

cat /etc/centos-release
cat /etc/os-release uname -r

Check disk space and memory:

df -h free -h

Verify that the Azure Linux Agent is running:

systemctl status waagent
4

Update the System

CentOS Stream 9 is continuously delivered (rolling). Keeping it current pulls the latest package set and all security backports:

sudo dnf upgrade -y
5

Configure Firewall (Optional)

The Azure network security group (NSG) is the primary inbound and outbound traffic control, and it is recommended for most deployments.

This minimal image does not ship a host firewall daemon (firewalld is not preinstalled), but the base iptables command is present. If you want a host firewall in addition to the NSG, install and enable firewalld first:

sudo dnf install -y firewalld
sudo systemctl enable --now firewalld

With firewalld running, inspect the active ruleset:

sudo firewall-cmd --list-all

To allow additional ports, run:

sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload

Common Use Cases

  • Tracking the next RHEL 9 minor release ahead of general availability
  • Building and testing RPMs against the RHEL 9 development stream
  • Container and Kubernetes workloads
  • Development, CI and staging environments that mirror the RHEL 9 platform

Troubleshooting

Cannot connect via SSH

  • Verify that the VM is in the Running state in the Azure portal.
  • Check that port 22 is allowed in the network security group.
  • Make sure you are using the correct username: azureuser.
  • Verify that your SSH key matches the one configured during deployment.

Azure agent not running

Start and enable the agent:

sudo systemctl start waagent
sudo systemctl enable waagent

Package manager issues

Run a full upgrade:

sudo dnf upgrade -y

If repositories are unreachable, check DNS resolution with getent (installed by default):

getent hosts mirror.centos.org

Important Notes

CentOS Stream is free and open source (GPLv2 and a collection of upstream open source licenses). It is the upstream development branch of Red Hat Enterprise Linux 9, sponsored by Red Hat and maintained by the CentOS Project. No license or paid subscription is required.

Support

For assistance with this image, contact SecureAnyCloud support:

  • Website: secureanycloud.com
  • Product catalog: secureanycloud.com/products
  • User guides: secureanycloud.com/guides
  • SLA: 24 hour response guaranteed

Deploy on Azure

Launch CentOS Stream 9 on Azure with 24/7 support from SecureAnyCloud.

View this image

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure