Last updated: 2026-10-13
Purpose
This article helps administrators size On-Premise Scanning (OPS) hosts and configure K3s storage safeguards for different deployment scales.
Introduction
On-Premise Scanning performance depends on the CPU, memory, and storage assigned to the host. Start with the small specification, then increase resources based on scan volume, concurrent activity, and the selected deployment size. Use the sizing tables in this guide to plan the required capacity for small, medium, large, and X-Large deployments.
Flavors
|
Resource |
Small |
Medium |
Large |
X-Large |
|---|---|---|---|---|
|
CPU Cores |
16 |
24 |
32 |
52 |
|
RAM |
24 GB |
48 GB |
94 GB |
200 GB |
|
Disk |
200 GB |
300 GB |
1000 GB |
3000 GB |
Recommendation
The small deployment is sufficient for most scanning loads and should be used by default.
Creating a VM with less resources than the flavor selected during the installation process may result in in the solution not being able to deploy or eventually update.
Using Larger Sizes
Using a larger size does not guarantee better performance. Start with the Small deployment, and only increase in size if recommended by Outpost24 support.
Eviction Safeguard on K3s
K3s reserves 15% of total disk space for the default eviction safeguard. When disk usage exceeds 85%, K3s flags the node with DiskPressure. This behavior is acceptable for small and medium deployments, but it can reserve excessive capacity for X-Large deployments. Configure K3s eviction thresholds based on deployment size.
Small & Medium Configuration
# /etc/rancher/k3s/config.yaml
kubelet-arg:
- "eviction-hard=imagefs.available<5Gi,nodefs.available<5Gi,memory.available<256Mi"
- "image-gc-high-threshold=85"
- "image-gc-low-threshold=75"
Large & X-Large Configuration
# /etc/rancher/k3s/config.yaml
kubelet-arg:
- "eviction-hard=imagefs.available<30Gi,nodefs.available<20Gi,memory.available<1Gi"
- "image-gc-high-threshold=85"
- "image-gc-low-threshold=75"
Related Articles