Skip to content

Host Deployment Runbook

PiVirt deployment operations encompass single-node development setup, multi-node control plane bootstrap, automated node joins, and zero-downtime rolling upgrades.

Terminal window
# Initialize cluster
pvcli cluster init --name dev-cluster
# Verify
pvcli cluster get dev-cluster
Terminal window
# Initialize control plane
pvcli cluster init --name prod-cluster --control-plane 3
# Generate join token
pvcli cluster token create --ttl 24h
# Join worker nodes
pvcli cluster join --token <token> --node-ip 10.0.1.20
Terminal window
# Add worker nodes
pvcli cluster node add --role worker --count 3
# Add specific node
pvcli cluster node add --name worker-04 --ip 10.0.1.24
Terminal window
# Drain node first
pvcli cluster node drain worker-03
# Remove node
pvcli cluster node remove worker-03
Terminal window
# Cordon node (no new VMs)
pvcli cluster node cordon worker-01
# Drain node (evict VMs)
pvcli cluster node drain worker-01
# Uncordon after maintenance
pvcli cluster node uncordon worker-01
Terminal window
# Check current version
pvcli cluster get prod-cluster -o json | jq '.version'
# Update to new version
pvcli cluster upgrade --version v0.0.90 --strategy rolling
# Monitor progress
pvcli cluster upgrade status
apiVersion: pivirt.pilab.hu/v1
kind: ClusterUpgrade
metadata:
name: upgrade-v0.0.90
spec:
version: "v0.0.90"
strategy:
type: "rolling"
max_surge: 1
max_unavailable: 0
partition: 0
Terminal window
# Backup etcd
pvcli cluster backup create --name backup-2024-01-15
# List backups
pvcli cluster backup list
Terminal window
# Restore cluster
pvcli cluster backup restore --name backup-2024-01-15
Terminal window
# Check cluster status
pvcli cluster get prod-cluster -o yaml
# Check node status
pvcli cluster node list
# Check component health
pvcli cluster health
Issue Resolution
Node not joining Check network connectivity, firewall rules
etcd quorum lost Restore from backup, check node health
PiTrust certificate errors Verify CA chain, check PiTrust CA server / operator