|
This is unreleased documentation for SUSE® Virtualization v1.9 (Dev). |
Hardware and Network Requirements
As an HCI solution on bare metal servers, there are minimum node hardware and network requirements for installing and running SUSE Virtualization.
A three-node cluster is required to fully realize the multi-node features. The first node that is added to the cluster is by default the management node. When the cluster has three or more nodes, the two nodes added after the first are automatically promoted to management nodes to form a high availability (HA) cluster.
The latest versions support the deployment of single-node clusters. Such clusters do not support high availability, multiple replicas, and live migration.
Hardware Requirements
SUSE Virtualization nodes have the following hardware requirements and recommendations for installation and testing.
| Hardware | Development/Testing | Production |
|---|---|---|
CPU |
AMD64 or ARM64 (with hardware-assisted virtualization); 8 cores minimum |
AMD64 or ARM64 (with hardware-assisted virtualization); 16 cores minimum |
Memory |
32 GB minimum |
64 GB minimum |
Disk capacity |
250 GB minimum (180 GB minimum for witness nodes or when using multiple disks) |
500 GB minimum; 1 TB or more recommended |
Disk performance |
5,000+ random IOPS per disk (SSD/NVMe); management node storage must meet etcd speed requirements. Only local disks and hardware RAID are supported. |
5,000+ random IOPS per disk (SSD/NVMe); management node storage must meet etcd speed requirements. Only local disks and hardware RAID are supported. |
Network card count |
Management cluster network: 1 NIC required, 2 NICs recommended; VM workload network: 1 NIC required, at least 2 NICs recommended (does not apply to the witness node) |
Management cluster network: 1 NIC required, 2 NICs recommended; VM workload network: 1 NIC required, at least 2 NICs recommended (does not apply to the witness node) |
Network card speed |
1 Gbps Ethernet minimum |
10 Gbps Ethernet minimum |
Network switch |
Port trunking for VLAN support |
Port trunking for VLAN support |
|
CPU Specifications
Live Migration functions correctly only if the CPUs of all physical servers in the cluster have the same specifications. This requirement applies to all operations that rely on Live Migration functionality, such as automatic VM migration when Maintenance Mode is enabled.
Newer CPUs (even those from the same vendor, generation, and family) can have varying capabilities that may be exposed to VM operating systems. To ensure VM stability, Live Migration checks if the CPU capabilities are consistent, and blocks migration attempts when the source and destination are incompatible.
When creating clusters, adding more hosts to a cluster, and replacing hosts, always use CPUs with the same specifications to prevent operational constraints.
Network requirements
Nodes have the following network requirements for installation.
Port requirements for nodes
Nodes require the following port connections or inbound rules. Typically, all outbound traffic is allowed.
Ports that bind only to 127.0.0.1 are accessible from localhost only and do not require inbound firewall rules. They are included here for completeness.
Control plane nodes
| Protocol | Port | Bind Address | Source | Description |
|---|---|---|---|---|
TCP |
22 |
|
All |
SSH |
TCP |
80 |
|
All |
SUSE Virtualization UI HTTP (Traefik proxy) |
TCP |
443 |
|
All |
SUSE Virtualization UI HTTPS (Traefik proxy) |
TCP |
2112 |
|
All |
|
TCP |
2379 |
|
SUSE Virtualization management nodes |
etcd client port |
TCP |
2380 |
|
SUSE Virtualization management nodes |
etcd peer port |
TCP |
2381 |
|
localhost |
etcd metrics/health |
TCP |
2382 |
|
localhost |
etcd learner client (HTTP) |
TCP |
6443 |
|
All |
Kubernetes API server |
TCP |
9091 |
|
All |
|
TCP |
9099 |
|
localhost |
CNI (Canal) health check |
TCP |
9345 |
|
SUSE Virtualization nodes |
RKE2 supervisor API |
TCP |
9796 |
|
All |
Prometheus Node Exporter |
TCP |
10010 |
|
localhost |
containerd gRPC |
TCP |
10248 |
|
localhost |
kubelet |
TCP |
10249 |
|
localhost |
|
TCP |
10250 |
|
Kubernetes components |
kubelet API |
TCP |
10256 |
|
localhost |
|
TCP |
10257 |
|
localhost |
|
TCP |
10258 |
|
localhost |
|
TCP |
10259 |
|
localhost |
|
TCP |
30000-32767 |
|
All |
NodePort services (TCP) |
UDP |
8472 |
|
SUSE Virtualization nodes |
VXLAN (Flannel/Canal) |
UDP |
30000-32767 |
|
All |
NodePort services (UDP) |
Worker nodes
| Protocol | Port | Bind Address | Source | Description |
|---|---|---|---|---|
TCP |
22 |
|
All |
SSH |
TCP |
80 |
|
All |
SUSE Virtualization UI HTTP (Traefik proxy) |
TCP |
443 |
|
All |
SUSE Virtualization UI HTTPS (Traefik proxy) |
TCP |
6443 |
|
localhost |
Kubernetes API server (RKE2 agent proxy) |
TCP |
6444 |
|
localhost |
RKE2 agent API proxy |
TCP |
9091 |
|
All |
|
TCP |
9099 |
|
localhost |
CNI (Canal) health check |
TCP |
9796 |
|
All |
Prometheus Node Exporter |
TCP |
10010 |
|
localhost |
containerd gRPC |
TCP |
10248 |
|
localhost |
kubelet |
TCP |
10249 |
|
localhost |
|
TCP |
10250 |
|
Kubernetes components |
kubelet API |
TCP |
10256 |
|
localhost |
|
TCP |
30000-32767 |
|
All |
NodePort services (TCP) |
UDP |
8472 |
|
SUSE Virtualization nodes |
VXLAN (Flannel/Canal) |
UDP |
30000-32767 |
|
All |
NodePort services (UDP) |
Witness nodes
| Protocol | Port | Bind Address | Source | Description |
|---|---|---|---|---|
TCP |
22 |
|
All |
SSH |
TCP |
2379 |
|
SUSE Virtualization management nodes |
etcd client port |
TCP |
2380 |
|
SUSE Virtualization management nodes |
etcd peer port |
TCP |
2381 |
|
localhost |
etcd metrics/health |
TCP |
2382 |
|
localhost |
etcd learner client (HTTP) |
TCP |
6443 |
|
localhost |
Kubernetes API server (RKE2 agent proxy) |
TCP |
6444 |
|
localhost |
RKE2 agent API proxy |
TCP |
9091 |
|
All |
|
TCP |
9099 |
|
localhost |
CNI (Canal) health check |
TCP |
9345 |
|
SUSE Virtualization nodes |
RKE2 supervisor API |
TCP |
9796 |
|
All |
Prometheus Node Exporter |
TCP |
10010 |
|
localhost |
containerd gRPC |
TCP |
10248 |
|
localhost |
kubelet |
TCP |
10249 |
|
localhost |
|
TCP |
10250 |
|
Kubernetes components |
kubelet API |
TCP |
10256 |
|
localhost |
|
TCP |
10258 |
|
localhost |
|
UDP |
8472 |
|
SUSE Virtualization nodes |
VXLAN (Flannel/Canal) |
Port requirements for add-ons
The following tables list additional ports required by optional SUSE Virtualization add-ons for each node role, beyond the baseline requirements.
kubeovn-operator (Experimental)
Control plane nodes
| Protocol | Port | Bind Address | Source | Description |
|---|---|---|---|---|
TCP |
6641 |
Node IP |
SUSE Virtualization nodes |
OVN Northbound DB |
TCP |
6642 |
Node IP |
SUSE Virtualization nodes |
OVN Southbound DB |
TCP |
6643 |
Node IP |
SUSE Virtualization nodes |
|
TCP |
6644 |
Node IP |
SUSE Virtualization nodes |
OVN Raft ( |
TCP |
10661 |
Node IP |
SUSE Virtualization nodes |
|
TCP |
10665 |
Node IP |
SUSE Virtualization nodes |
|
UDP |
4789 |
|
SUSE Virtualization nodes |
VXLAN tunnel (Kube-OVN overlay) |
Worker nodes
| Protocol | Port | Bind Address | Source | Description |
|---|---|---|---|---|
TCP |
8080 |
Node IP |
SUSE Virtualization nodes |
|
TCP |
8443 |
|
All |
|
TCP |
10660 |
Node IP |
SUSE Virtualization nodes |
|
TCP |
10665 |
Node IP |
SUSE Virtualization nodes |
|
UDP |
4789 |
|
SUSE Virtualization nodes |
VXLAN tunnel (Kube-OVN overlay) |
Port Requirements for Integrating with SUSE Rancher Prime
If you want to integrate with SUSE Rancher Prime, you need to make sure that all SUSE Virtualization nodes can connect to TCP port 443 of the SUSE Rancher Prime load balancer.
When provisioning VMs with Kubernetes clusters from SUSE Rancher Prime into SUSE Virtualization, you need to be able to connect to TCP port 443 of the SUSE Rancher Prime load balancer. Otherwise, the cluster won’t be manageable by SUSE Rancher Prime. For more information, refer to Rancher Architecture.
Time Requirements
A reliable Network Time Protocol (NTP) server is critical for maintaining the correct system time across all nodes in a Kubernetes cluster, especially when running SUSE Virtualization. Kubernetes relies on etcd, a distributed key-value store, which requires precise time synchronization to ensure data consistency and prevent issues with leader election, log replication, and cluster stability.
Ensuring accurate and consistent time across the cluster is essential for reliability, security, and overall system integrity.