Deploy and Manage Prisma AIRS HSF Clusters on KVM
Deploy Prisma AIRS™ HSF clusters on Linux/KVM hypervisors using Strata Cloud Manager
for Terraform generation and Panorama® for network security management and
configuration.
| Where Can I Use This? | What Do I Need? |
- Prisma® AI Runtime Security™
|
- PAN-OS® 12.1.5 & later
- A controller or a VM to apply terraforms with SSH key
authentication for KVM host root access
|
Prisma AIRS HSF cluster deployment on Linux/KVM hypervisors enhances scalability and
performance capabilities to KVM environments, providing flexible infrastructure choices.
This topic provides a step-by-step instructions for KVM host preparation, Terraform
configuration generation through Strata Cloud Manager, deployment execution, initial
validation, and ongoing management operations in your environment.
Prerequisites
The HSF solution utilizes an automated deployment and centralized management
architecture:
- Deployment: Clusters are deployed through Terraform files generated by
Strata Cloud Manager (SCM).
- Management: Centralized management (connectivity, monitoring, upgrades, and
licensing) is managed through Panorama.
- Lifecycle Operations: Node addition, deletion, and cluster destruction are
performed directly through Terraform.
- Node Modifications: Granular changes such as vCPU, memory, or interface
adjustments are made directly on the node or through libvirt API calls.
KVM Host Infrastructure
Prepare your RHEL 9 KVM host by enabling hardware virtualization, SR-IOV, and IOMMU
in the BIOS/kernel, installing necessary dependencies (Libvirt, OpenvSwitch), and
ensuring system compatibility for virtio, OVS networking, and SR-IOV hostdev.
- libvirt user setup: Configure /etc/libvirt/qemu.conf by
adding user = "libvirt-qemu", group =
"kvm", dynamic_ownership = 1, and
security_driver = "none", then restart
libvirtd with sudo systemctl restart
libvirtd.
- Permissions: Provision a sudo user for deployment.
- Synchronize all your KVM hosts using Network Time Protocol (NTP).
- The root partition on each host should have sufficient space to hold the VM
qcow2 images and the host software. The recommended minimum root partition
size is 256GB.
KVM Host Network Preparation- Install necessary dependencies and packages on your Rhel9 KVM server.
- Add the number of VFs using the following command-- For example, for 8
VFs:
sudo echo 8 > /sys/bus/pci/devices/<your-pci-bus-id>/sriov_numvfs
- Create virtual network interfaces for management, cluster control (CC),
cluster interconnect (CI), and traffic interconnect (TI). In addition to
this you will need to create external data interfaces. Configure external
data interfaces following the same pattern listed below for management, CI,
and TI interfaces.
- You may use the following sample XML to define a basic bridge
network for management, CI, and TI
interfaces:
<network>
<name>br0-net</name>
<forward mode='bridge'/>
<bridge name='br0'/>
</network>
- Define and start your network using the following
commands:
sudo virsh net-define /tmp/br0-net.xml
sudo virsh net-autostart br0-net
sudo virsh net-start br0-net
- Verify your network is listed using:
virsh net-list --all
Provision SR-IOV Virtual Functions (VFs) if you use
SR-IOV for EI and TI interfaces.
If you are using SR-IOV, you
may follow the sample XML to create a
VNet:<network>
<name>yxxx-sriov-vf</name>
<forward mode='hostdev' managed='yes'/>
<pf dev='enp202s0f0np0'/>
</forward>
</network>
KVM Host Permissions for Local or Remote Deployments
- Prepare a dedicated Linux machine as your Terraform controller.
- Install HashiCorp Terraform CLI from https://developer.hashicorp.com/terraform/install.
# Install xsltproc for PCI devices
sudo dnf install -y xsltproc
# Install Terraform
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo dnf install -y terraform
HSF solution supports two modes of Terraform deployment:
- Local Deployment - In this mode you can apply terraform on each
KVM host by copying terraform folders to each respective host. As a
pre-requisite for this mode, you must have the terraform packages installed as
outlined in the previous section.
- Remote Deployment - In this mode you can use a central controller to
apply the terraform on all intended KVM hosts. The deployment will be managed by
deploy_cluster.sh script packages with terraforms.
For Remote Deployment:
A remote controller VM is required at the location where the Terraform deployment
will be executed. Ensure SSH key authentication is set up for the sudo user on your
KVM hosts for remote deployment.
- If you need root login permissions, explicitly allow SSH key authentication
for the root user in your remote KVM server's SSH configuration file
(/etc/ssh/sshd_config). Look for
PermitRootLogin yes.
- If you change this setting, restart the SSH service: sudo systemctl restart
sshd.
- Create a new SSH key pair: ssh-keygen.
- Add your private key to the agent: ssh-add
~/.ssh/id_rsa.
- Ensure your public key (~/.ssh/id_rsa.pub) is copied into
the root user's ~/.ssh/authorized_keys file on the remote
KVM
server:
ssh-copy-id -i ~/.ssh/id_rsa.pub <kvm-sudo-user>@<remote-server-ip>
- Ensure the known_hosts file on your controller has all the server keys to
avoid a key mismatch.
- Delete entries pertaining to your KVM host from
~/.ssh/known_hosts.
- Run a keyscan to add your KVM host keys: ssh-keyscan
<remote-server-ip> >> ~/.ssh/known_hosts.
Panorama pre-requisites
- Deploy Panorama - PAN-OS 12.1.5 and later.
- Configure the licensing API-key in Panorama to delicense the undeployed VMs
during an un-deployment event. This key can be configured using the command
below from the Panorama
cli:
request license api-key set key <key>
- Generate VM auth key on the
Panorama.
- For Logs, it is recommended to use a log collector in
Panorama.
- Check if the Panorama is in Panorama mode and execute the
command:
show system info | match system-mode
- Install the Orchestrator plugin on Panorama to obtain default/reference
templates.
- Clone the default template and modify it as needed for cluster and traffic
configurations. You may choose to uninstall the plugin after cloning.
- Create the firewall cluster on Panorama using the same Cluster name you
intend to provide on SCM for the terraform and type AI-HSF.
- Create a Template for external data interfaces. This template will be referenced
while creating the Template Stack.
- Create a Device Group with the exact name you intend to use in the SCM for
Terraform configurations. Ensure the template(s) are referenced within this
Device Group.
- Create a Template Stack with the exact name you intend to use in the SCM for
Template Stack Name. Ensure that you select the following two options:
- Automatically push content when a software device (VM or container or
ZTP) registers to Panorama and Enable clustering.
- Under Templates, add the templates the user has created for external
data interfaces and a fixed template that the user cloned from
AI-HSF-CLUSTERING-DO-NOT-MODIFY.
- Commit the configuration to Panorama.
- Download the same content and AV versions on the Local and Device Deployment
page of the Panorama.
- Schedule Download and Install of App&Thread and AV at the same time on both
local and Device Deployment page of the Panorama.
- Ensure the latest AV and content installed on the Panorama is also
downloaded and deployed to devices. This is because any content released
after the PAN-OS image will have a version higher than the content packaged
with the image.
- When scheduling future content upgrades for the
Panorama and cluster nodes, ensure that the content
deployment on both the local and device environments is set for the same
time interval.