Platform Deployment Overview
PiVirt supports automated deployment across diverse infrastructure targets, from bare-metal servers with IPMI/Redfish to nested virtualization on Proxmox VE, VMware vSphere, and hyperscale cloud providers.
Deployment Methods
Section titled “Deployment Methods”Bare Metal
Section titled “Bare Metal”# Using deployerdeployer apply -f deploy/baremetal-cluster.yaml
# Using pvclipvcli deploy apply -f deploy/baremetal-cluster.yamlVMware
Section titled “VMware”deployer apply -f deploy/vmware-cluster.yaml# AWSdeployer apply -f deploy/aws-cluster.yaml
# GCPdeployer apply -f deploy/gcp-cluster.yamlDeployment Workflow
Section titled “Deployment Workflow”1. Plan Deployment
Section titled “1. Plan Deployment”deployer plan -f deploy/cluster.yaml2. Apply Deployment
Section titled “2. Apply Deployment”deployer apply -f deploy/cluster.yaml3. Monitor Progress
Section titled “3. Monitor Progress”deployer status -n pivirt-cluster-proddeployer logs -n pivirt-cluster-prod --follow4. Verify Deployment
Section titled “4. Verify Deployment”pvcli cluster get prod-clusterpvcli cluster node listDeployment Templates
Section titled “Deployment Templates”Bare Metal Template
Section titled “Bare Metal Template”apiVersion: deployer.pilab.hu/v1kind: Deploymentmetadata: name: "pivirt-cluster-prod"spec: provider: "baremetal" topology: control_plane: count: 3 profile: "control-plane" workers: count: 5 profile: "worker"
profiles: control-plane: cpu: 8 memory: 32Gi disk: 200Gi worker: cpu: 16 memory: 64Gi disk: 500Gi
cloud_init: template: "cluster-node.yaml.tmpl"Rollback
Section titled “Rollback”# List revisionsdeployer history -n pivirt-cluster-prod
# Rollbackdeployer rollback -n pivirt-cluster-prod --revision 3Troubleshooting
Section titled “Troubleshooting”Deployment Stuck
Section titled “Deployment Stuck”# Check statusdeployer status -n pivirt-cluster-prod
# View logsdeployer logs -n pivirt-cluster-prod --followSSH Connection Failed
Section titled “SSH Connection Failed”# Test SSHssh -i /etc/deployer/ssh/id_rsa root@10.0.0.110
# Check cloud-initssh root@10.0.0.110 "cloud-init status --wait"