Skip to main content
Version: 3.4

Installation on Azure

You can install Portworx on an Azure cluster to enable enterprise-grade cloud-native storage for your Kubernetes workloads. Portworx supports both standard Kubernetes deployments and OpenShift-based environments running on Azure. Portworx integrates natively with Azure, leveraging Azure resources for persistent storage management and advanced data services.

Portworx installation on an Azure cluster is managed via Kubernetes manifests, generated through Portworx Central. You can apply a Portworx Operator and StorageCluster manifest to your Azure cluster, which automates and orchestrates the installation across all nodes.
You can install Portworx on an Azure cluster with a PX-StoreV2 datastore. For more information on PX-StoreV2 datastore, see PX-StoreV2.

This topic describes the installation process for each cluster type, helping you integrate Portworx as a cloud-native storage solution. Use the appropriate method based on your Azure cluster configuration.

note

If your workload scales up or down based on demand, consider installing Portworx in disaggregated mode. The installation process follows the same steps as a standard installation, with one addition: Step 2 in Deploy Portworx Operator.

Prerequisites

In addition to the System Requirements, ensure that your Azure cluster meets the following requirements before installing Portworx Enterprise:

  • Install the Azure CLI.
    For more information, see Microsoft documentation.
  • Use one of the supported Azure managed disk types for persistent volumes.
  • Set the maximum number of storage nodes per zone. When you specify this setting, Portworx ensures that the specified number of storage nodes are available in each zone.
  • For production environments, Portworx recommends deploying your Azure cluster across three Availability Zones (AZs), with one node per zone to ensure high availability.
  • For existing clusters, make note of the AKS cluster Infrastructure Resource Group name or the initial Resource Group name used during cluster creation.
  • If you are using Azure Disk encryption with customer-managed keys (CMKs), ensure that an Azure Key Vault instance exists in the same region as your Azure cluster.
  • If you have a disaggregated setup, designate your nodes as storage or storageless (compute) before installing Portworx. Portworx uses the following labels on Kubernetes nodes to determine their roles:
    • portworx.io/node-type: storage
    • portworx.io/node-type: storageless
  • Add labels to the nodes:
    • For new node groups: When using a managed Kubernetes cluster, you can add these label pairs when you create the node groups. This ensures that your cloud provider consistently applies the labels to all nodes.
    • For existing node groups: If your cluster is already running, add or update the labels on your nodes using a Kubernetes command. For example:
      kubectl label node <node-name> portworx.io/node-type=storage  
      # or for storageless nodes
      kubectl label node <node-name> portworx.io/node-type=storageless