Requirements

Infrastructure, license, mirror, nodes.

Closed loop requirements

ParameterDescription
Internet accessOn cluster nodes - no; on the host mirror - no (completely closed loop) or yes (conditionally closed loop)
MirrorNecessarily; deployed before cluster installation
Bundletar archive with images and packages for the platform version
LicenseEnterprise only

All cluster nodes and shtil machine must have network access to the mirror (usually TCP 443 or the port specified when the mirror was initialized).

Requirements for administrator qualifications

The administrator must have:

  • basic Linux administration skills;
  • skills in working with Kubernetes and automation processes for managing container applications in clusters.

Supported providers

  • Shturval v2 - bare metal / hosts via SSH
  • oVirt (including zVirt, HostVM, ED Virtualization, ROSA Virtualization)
  • VMware vSphere

Public clouds and providers that require nodes to access the Internet are not used in a closed loop.

More details: How work with providers works.

Requirements for the mirror host

  • OS: Linux. The stm utility must be run on a host running Linux OS.
  • Resources: minimum 2 vCPU, 4 GiB RAM, 150 GiB disk; 4 vCPUs, 16 GiB RAM, 300 GiB disk are recommended.
  • SELinux: permissive or disabled.
  • Nginx ports (parameters http-port and https-port, default 80 and 443): must be free.
  • Container runtime: on the host do not install Docker manually. Use Docker from the bundle; operation with another container runtime instance is not guaranteed.
  • Certificate: when importing - PEM (CA chain and certificate), subjectAltName with the mirror FQDN matching the --fqdn parameter.

Mirror Host Resources {#Mirror Host Resources}

ConfigurationCPU (vCPU)Memory (GiB)Disk (GiB)IOPS
Minimal24150300
Featured416300300

Resource requirements

The management cluster must consist of at least one Control Plane node. For fault tolerance - at least three Control Planes and three Workers.

When installed on only one Control Plane, only critical services are installed on a node; lLogging, monitoring and backup are not installed in this configuration.

Note: A cluster on one Control Plane is not recommended for production. Up to 5 client clusters.

The license specifies limits on Worker nodes and vCPUs; When exceeded, a notification is displayed in the GUI.

When the load is over 80% it is recommended to add nodes. Metrics are stored for 7 days; logs are rotated based on completion.

The following are the requirements only for starting the installation and installing system components. Resources for running loads need to be planned additionally

Minimum configuration (1 Control Plane node)

For test installations only

Resource table and schema

Minimal management cluster configuration

ComponentCPU (vCPU)Memory (GiB)Disk (GiB)IOPS
Mirror (Registry)24150300
Control Plane node6880600

Not recommended for production installations

Resource table
ComponentCPU (vCPU)Memory (GiB)Disk (GiB)IOPS
Mirror (Registry)24150300
Control Plane node416100600
Worker node832*300**600

* When using the management cluster exclusively to manage client clusters (without user loads) - minimum 16 GiB. 32 GiB provides headroom for monitoring, logging and backup.

** Minimum 100 GiB for system components; 300 GiB provide storage of metrics (7 days) and rotating logs.

Fault-tolerant configuration (3 CP + 3 Worker)

Resource table
ComponentCPU (vCPU)Memory (GiB)Disk (GiB)IOPS
Mirror (Registry)416300300
Control Plane node (×3)416100600
Worker node (×3)832*300**600

* When using the management cluster exclusively to manage client clusters (without user loads)zok) - minimum 16 GiB. 32 GiB provides headroom for monitoring, logging and backup.

** Minimum 100 GiB for system components; 300 GiB provide storage of metrics (7 days) and rotating logs.

Stand-alone cluster (without client clusters)

Resource table
ComponentCPU (vCPU)Memory (GiB)Disk (GiB)IOPS
Mirror (Registry)24150300
Control Plane (1 node)6880600

For stand-alone in a closed perimeter, use the Mirror line from the minimal configuration.

More information about the mode: Management cluster operating modes.

Machine resources shtil

The shtil utility must be run from a host with Linux OS. Minimum 3 vCPU, 3 GiB RAM, 20 GiB disk; Docker from the bundle; network access to the mirror via HTTPS (port according to the mirror settings, usually 443). If the mirror has a self-signed or enterprise CA, configure mirror trust at the Docker daemon level before running shtil: the --bootstrap-insecure and --bootstrap-registry-certs-dir flags do not affect the primary docker pull. Checks are on the Preparation page.

Supported operating systems for the shtil startup machine

Operating systemVersionKernel version
Astra Linux SE1.7.5, 1.85.10, 5.15, 6.1, 6.6
Debianbullseye5.10
Debianbookworm6.1.0
UbuntuNoble 24.046.8
RED OS86.6, 6.12
ROSAChrome6.6
Alt Linux106.1
RHEL95.14
Rocky Linux95.14
SberLinux5.9.15.14

Requirements for hosts and OS

Supported cluster node operating systems

All cluster nodes must use the same kernel OS version.

Operating systemVersionKernel version
Astra Linux SE1.7, 1.7.5, 1.85.10, 5.15, 6.1, 6.6
DebianBullseye, Bookworm5.10, 6.1.0
UbuntuFocal 20.04, Jammy 22.04, Noble 24.045.10, 5.15, 6.8
RED OSMurom, 7.3.4, 85.10, 5.15, 6.1, 6.6, 6.12
ROSAChrome6.6, 6.12
Alt Linux106.1
BASISOnyx6.6
Oracle Linux8.75.15
RHEL95.14
Rocky Linux95.14
SberLinux5.9.15.14

Required packages on nodes: openssh-server and dependencies, package manager (yum or apt), sudo, iptables, gnupg.

Infrastructure: physical servers of x86 architecture and/or virtual machines running oVirt version no lower than 4.4 and/or VMware vSphere (hypervisor no lower than 6.7 update 3).

Cluster nodes

  • Nodes must resolve FQDN mirrors and other network names used by the selected scenario.
  • SELinux - permissive or disabled mode.
  • Inaccessible OS package repositories should be disabled or removed.
  • A home directory must be created for the Linux user under whose name the installation is performed (for example, /home/shturval).
  • The installation user must be able to run sudo without a password on all target nodes.

Remote access via SSH during installation on pre-created hosts

On each server:

  1. The OpenSSH service accepts connections on port TCP 22.
  2. An identical service account for installation was created on all nodes.
  3. Authentication using the same public key is configured on all nodes.
  4. The service account is allowed to execute sudo without a password.

Local storage

RawFile Provisioner is used as local storage; ZFS is not supported. Valid file systems: ext4, btrfs, xfs.


Network requirements

Firewalls should not block necessary connections.

Main ports

DestinationPortProtocol
Ingress (HTTP/HTTPS)80, 443TCP
KubeAPI6443TCP
SSH (installation)22TCP
Mirror (Registry)443*TCP
etcd2379, 2380TCP
Cilium (CNI)4240, 6081TCP, UDP
S3 (Velero)9000TCP
LDAP389, 636TCP/UDP
Keycloak, Blitz80, 443TCP

* or the port specified when deploying the mirror.

LDAP and OIDC (Keycloak, Blitz): only inside a closed perimeter.

S3 (Velero): Internal S3-compatible storage only.

Addressing and access rules

  1. IP addresses of nodes do not change during cluster operation.
  2. The shtil machine and all cluster nodes must have access to the mirror via HTTPS (port as configured for the mirror, usually 443).
  3. Management cluster mustIt is not possible to have access to the API of the infrastructure providers used (oVirt Engine, vCenter, etc. - according to the deployment scenario).

Control Plane subnet and virtual IPs (VIPs)

The IP addresses of the Control Plane nodes must belong to the same subnet and the same broadcast segment. When using internal balancers for KubeAPI and Ingress, one free VIP is required for each.

If external balancers are used for KubeAPI and/or Ingress, VIP allocation is not required. Requirements and an example of setting up an external balancer are given below.

Additional rules for domestic VIP:

  1. VIP should not be configured on host interfaces prior to installation.
  2. The VIP for the API server must belong to the same subnet as the IP addresses of the Control Plane nodes.
  3. VIP for Ingress is used on the network load balancer and must be accessible from the admin workstation if the internal Ingress scenario is selected.
  4. For a management cluster with one Control Plane, IP addresses must be assigned in ascending order: first the node IP address, then the VIP API server, then the VIP Ingress.

External load balancer

When deploying a cluster with multiple Control Plane nodes, KubeAPI requires a load balancer. The platform can use a built-in (VIP via Kube-VIP) or external balancer.

An external load balancer is also used for Ingress when traffic must go through a common entry point such as HAProxy in front of the cluster.

Configuring an external balancer in a cluster

Patch for external LB

Requirements:

  1. Balancing is performed at level L4 (TCP).
  2. The balancer must support storing host selection by source IP address (sticky session / source IP affinity), for example balance source in HAProxy.
  3. An external balancer for KubeAPI when installing a cluster with the Shturval v2 provider must be configured before the start of the cluster installation.

HAProxy configuration example (static configuration) {#haproxy-configuration example-static-configuration}

HAProxy static configuration example

Below is an example of a HAProxy configuration for a cluster with 3 Control Plane and 2 Worker nodes. Substitute your IP addresses.

#---------------------------------------------------------------------
# myclustername cluster
#---------------------------------------------------------------------

frontend myclustername-api-server
    bind 10.11.12.100:6443
    default_backend myclustername-api-server
    mode tcp

backend myclustername-api-server
    balance source
    mode tcp
    server master1 10.11.13.1:6443 check
    server master2 10.11.13.2:6443 check
    server master3 10.11.13.3:6443 check

frontend myclustername-ingress-http
    bind 10.11.12.100:80
    default_backend myclustername-ingress-http
    mode tcp
    option tcplog

backend myclustername-ingress-http
    balance source
    mode tcp
    server worker1 10.11.13.4:80 check
    server worker2 10.11.13.5:80 check

frontend myclustername-ingress-https
    bind 10.11.12.100:443
    default_backend myclustername-ingress-https
    mode tcp
    option tcplog

backend myclustername-ingress-https
    balance source
    mode tcp
    server worker1 10.11.13.4:443 check
    server worker2 10.11.13.5:443 check

Deciphering addresses:

AddressPurpose
11/10/12/100External balancer IP (entry point)
10.11.13.1–10.11.13.3Control Plane nodes (port 6443)
10.11.13.4–10.11.13.5Worker nodes (ports 80, 443)

When using NodePort for Ingress, specify ports 30080 and 30443 instead of 80 and 443 on Worker nodes.

Dynamically adding backends (CoreHA)

The shturval-coreha module allows HAProxy to dynamically obtain a list of nodes from the Ingress Controller via DNS. This is useful when scaling or migrating pods.

Setting up CoreHA:

  1. Install and enable Module for searching nodes with running hostport services (shturval-coreha) in the Services and repositories section.
  2. Configure chart parameters, for example:
    config:
      zoneName: cluster-prod01-dc1.shturval
    
  3. Apply ShturvalServicePatch to shturval-ingress-controller with label ingress.cluster/name and hostPort enabled.
  4. In HAProxy use resolvers and server-template:
resolvers coredns-cluster
    nameserver ns1 <api-server-vip>:1053
    accepted_payload_size 8192

backend cluster-prod01-dc1-ingress-http
    balance source
    mode tcp
    server-template daemonset 2 <label_value>.ingress.<zoneName>:80 check resolvers coredns-cluster init-addr none

Where <api-server-vip> is the address of the cluster API server, <zoneName> is the value of config.zoneName in shturval-coreha, <label_value> is the value of the ingress.cluster/name label.

Check: dig @<api-server-vip> -p 1053 <label_value>.ingress.<zoneName>.

Ports and traffic directions

TargetBalancer portBackends
KubeAPI6443Control Plane nodes:6443
Ingress HTTP80Worker nodes:80 (or 30080 with NodePort)
Ingress HTTPS443Worker nodes:443 (or 30443 with NodePort)

When using CoreHA, the balancer connects to the module’s DNS server on port 1053 (VIP Control Plane) to dynamically resolve backend names.

By provider

ProviderRecommendations
Shturval v2HAProxy, Keepalived or similar. Balancer for KubeAPI - before installation
oVirt, VMware vSphereA balancer can be used at the virtualization platform level

DNS and network names

  • Each cluster node must have a unique network name.
  • The full network name of the host must be a valid DNS name no longer than 63 characters.
  • The cluster name must be unique in combination with the organization’s DNS zone and form a valid DNS subdomain.
  • A zone must be created in the DNS; For each cluster node, a record of type A must be created in this zone.
  • An A-record of the form api.<cluster_name>.<base_domain> is created for the management cluster API server.
  • A wildcard record of the form *.<cluster_name>.<base_domain> is created for the Ingress of the management cluster.
  • The FQDN of the mirror must resolve to the IP address on the machine shtil andon cluster nodes.

Firewalls should not block network connections. This is required to support interaction between platform components.

In a closed loop, external cloud APIs in matrices are not used; instead of an external Registry - a mirror in your perimeter.

Internetworking schemes

Shturval v2 with internal balancer for KubeAPI and external balancer for Ingress and CoreHA for client cluster

Scheme — illustration

Screenshot: Shturval v2 with internal balancer for KubeAPI and external balancer for Ingress and CoreHA for client cluster

Description
SourceDestinationPortProtocolPurpose
AdminLoad Balancer (Ingress)80TCPInteraction with the cluster Ingress-controller
AdminLoad Balancer (Ingress)443TCPInteraction with the cluster Ingress-controller
AdminVIP Control Plane Nodes (KubeAPI)6443TCPCluster administration and management
AdminManagement Cluster22TCPInstalling a management cluster via SSH
Cluster nodes (Control Plane, Worker)Node VIP Control Plane (KubeAPI)6443TCPKubernetes and STD components for interacting with the cluster
Cluster nodesLoad Balancer (Ingress)80 (optional)TCPCluster interaction with Ingress-controller
Cluster nodesLoad Balancer (Ingress)443TCPCluster interaction with Ingress-controller
Load Balancer (Ingress)Worker nodes30080 (optional)TCPInteraction with the cluster Ingress-controller
Load Balancer (Ingress)Worker nodes30443 (optional)TCPInteraction with the cluster Ingress-controller
Load Balancer (Ingress)Worker nodes443TCPInteraction with the cluster Ingress-controller
Load Balancer (Ingress)Worker nodes80TCPInteraction with the cluster Ingress-controller
Control Plane nodesWorker nodes (Kubelet)10250TCPKubernetes component for interacting with kubelet
Cluster nodesCluster nodes4240TCPCluster network (Cilium)
Cluster nodesCluster nodes—ICMPCluster network (Cilium)
Cluster nodesCluster nodes6081UDPCluster network (Cilium)
Worker nodes of the management clusterS3 (Simple Storage Servicee)9000TCPInteraction with S3 storage (Velero)
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPInteraction of ETCD cluster nodes
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPComponents Kubernetes
Worker nodes of the management clusterActive Directory389TCP/UDPInteraction with Active Directory, LDAP
Worker nodes of the management clusterActive Directory636TCPInteraction with Active Directory, LDAP
Management ClusterVIP Control Plane of client cluster nodes (KubeAPI)6443TCPInteraction of the management cluster with the client cluster
Management ClusterClient cluster22TCPInstalling a client cluster via SSH
Client clusterLoad Balancer443TCPValidation of a client cluster token through the management cluster
Management ClusterLoad Balancer443TCPManagement Cluster Token Validation
Load BalancerVIP Control Plane of client cluster nodes (CoreHA DNS)1053TCPDynamically adding backends to HAProxy
Client clusterLoad balancer (logs, metrics)443TCPRedirection of metrics, logs
Client clusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication with an external provider

Shturval v2 with internal balancer for KubeAPI and external balancer for Ingress

Scheme — illustration

Screenshot: Shturval v2 with internal balancer for KubeAPI and external balancer for Ingress

Description
SourceDestinationPortProtocolPurpose
AdminLoad Balancer (Ingress)80, 443TCPInteraction with Ingress-controller
AdminVIP Control Plane Nodes (KubeAPI)6443TCPCluster administration and management
AdminManagement Cluster22TCPInstallation via SSH
Cluster nodesNode VIP Control Plane (KubeAPI)6443TCPInteraction with the cluster
Control Plane nodeLoad Balancer (Ingress)80 (optional), 443TCPInteraction with Ingress-controller
Load Balancer (Ingress)Worker nodes30080, 30443 (optional), 443, 80TCPInteraction with Ingress-controller
Control Plane nodesWorker nodes (Kubelet)10250TCPInteracting with kubelet
Cluster nodesCluster nodes4240TCPCluster network (Cilium)
Cluster nodesCluster nodes—ICMPCluster network (Cilium)
Cluster nodesCluster nodes6081UDPCluster network (Cilium)
Worker nodesS39000TCPVelero
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPETCD
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPKubernetes
Worker nodes of the management clusterActive Directory389, 636TCP/UDP, TCPLDAP
Management ClusterVIP Control Plane of the client cluster (KubeAPI)6443TCPClient cluster management
Management ClusterClient cluster22TCPInstallation via SSH
Client clusterLoad Balancer443TCPToken Validation
Management ClusterLoad Balancer443TCPToken Validation
Client clusterLoad balancer (logs, metrics)443TCPMetrics, logs
Client clusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication

Shturval v2 with internal balancer for KubeAPI and Ingress

Scheme — illustration

Screenshot: Shturval v2 with internal balancer for KubeAPI and Ingress

Description
SourceDestinationPortProtocolPurpose
AdminVIP Worker Nodes (Ingress)80 (optional), 443TCPInteraction with Ingress-controller
AdminVIP Control Plane Nodes (KubeAPI)6443TCPCluster administration and management
AdminManagement Cluster22TCPInstallation via SSH
Cluster nodesNode VIP Control Plane (KubeAPI)6443TCPInteraction with the cluster
Cluster nodesVIP Worker node (Ingress)80, 443TCPInteraction with Ingress-controller
Control Plane nodesWorker nodes (Kubelet)10250TCPInteracting with kubelet
Cluster nodesCluster nodes4240TCPCluster network (Cilium)
Cluster nodesCluster nodes—ICMPCluster network (Cilium)
Cluster nodesNodescluster6081UDPCluster network (Cilium)
Worker nodesS39000TCPVelero
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPETCD
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPKubernetes
Worker nodes of the management clusterActive Directory389, 636TCP/UDP, TCPLDAP
Management ClusterVIP Control Plane of the client cluster (KubeAPI)6443TCPClient cluster management
Management ClusterClient cluster22TCPInstallation via SSH
Client clusterVIP Worker node443TCPToken Validation
Client clusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication

Shturval v2 with external balancer for KubeAPI and Ingress

Scheme — illustration

Screenshot: Shturval v2 with external balancer for KubeAPI and Ingress

Description
SourceDestinationPortProtocolPurpose
AdminLoad Balancer (Ingress)80, 443TCPInteraction with Ingress-controller
AdminLoad Balancer (KubeAPI)6443TCPInteraction with the cluster
AdminManagement Cluster22TCPInstallation via SSH
Load Balancer (Ingress)Worker nodes30080, 30443 (optional), 443, 80TCPIngress-controller
Load Balancer (KubeAPI)Control Plane nodes6443TCPKubeAPI
Cluster nodesLoad Balancer (Ingress)80, 443TCPIngress-controller
Control Plane nodesLoad Balancer (KubeAPI)6443TCPKubeAPI
Control Plane nodesWorker nodes (Kubelet)10250TCPkubelet
Cluster nodesCluster nodes4240TCPCluster network (Cilium)
Cluster nodesCluster nodes—ICMPCluster network (Cilium)
Cluster nodesCluster nodes6081UDPCluster network (Cilium)
Worker nodesS39000TCPVelero
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPETCD
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPKubernetes
Worker nodes of the management clusterActive Directory389, 636TCP/UDP, TCPLDAP
Worker nodesLoad Balancer (KubeAPI)6443TCPKubeAPI
Management ClusterLoad Balancer (KubeAPI)6443TCPKubeAPI
Management ClusterClient cluster22TCPInstallation via SSH
Client clusterLoad Balancer443TCPToken Validation
Management ClusterLoad Balancer443TCPToken Validation
Client clusterLoad balancer (logs, metrics)443TCPMetrics, logs
Client clusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication

Shturval v2 stand-alone cluster with internal balancer for KubeAPI and Ingress

Scheme — illustration

Screenshot: Shturval v2 stand-alone cluster with internal balancer for KubeAPI and Ingress

Description
SourceDestinationPortProtocolPurpose
AdminVIP Worker Nodes (Ingress)80 (optional), 443TCPIngress-controller
AdminVIP Control Plane Nodes (KubeAPI)6443TCPCluster Administration
AdminManagement Cluster22TCPInstallation via SSH
Management ClusterLoad Balancer443TCPToken Validation
Cluster nodesNode VIP Control Plane (KubeAPI)6443TCPInteraction with the cluster
Cluster nodesVIP Control Plane of a node (Ingress)80, 443TCPIngress-controller
Control Plane nodesWorker nodes (Kubelet)10250TCPkubelet
Cluster nodesCluster nodes4240TCPCluster network (Cilium)
Cluster nodesCluster nodes—ICMPCluster network (Cilium)
Cluster nodesCluster nodes6081UDPCluster network (Cilium)
Worker nodesS39000TCPVelero
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPETCD
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPKubernetes
Worker nodesActive Directory389, 636TCP/UDP, TCPLDAP
Management ClusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication

Shturval v2 stand-alone withinternal balancer for KubeAPI and external for Ingress

Scheme — illustration

Screenshot: Shturval v2 stand-alone withinternal balancer for KubeAPI and external for Ingress

Description
SourceDestinationPortProtocolPurpose
AdminLoad Balancer (Ingress)80, 443TCPIngress-controller
AdminVIP Control Plane Nodes (KubeAPI)6443TCPCluster Administration
AdminManagement Cluster22TCPInstallation via SSH
Cluster nodesLoad Balancer (Ingress)80, 443TCPIngress-controller
Load Balancer (Ingress)Worker nodes30080, 30443 (optional), 443, 80TCPIngress-controller
Cluster nodesNode VIP Control Plane (KubeAPI)6443TCPInteraction with the cluster
Control Plane nodesWorker nodes (Kubelet)10250TCPkubelet
Cluster nodesCluster nodes4240TCPCluster network (Cilium)
Cluster nodesCluster nodes—ICMPCluster network (Cilium)
Cluster nodesCluster nodes6081UDPCluster network (Cilium)
Worker nodesS39000TCPVelero
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPETCD
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPKubernetes
Worker nodesActive Directory389, 636TCP/UDP, TCPLDAP
Management ClusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication

Shturval v2 DR platform with internal balancer for KubeAPI and external for Ingress

Scheme — illustration

Screenshot: Shturval v2 DR platform with internal balancer for KubeAPI and external for Ingress

Description
SourceDestinationPortProtocolPurpose
AdminLoad Balancer (Ingress)80TCPInteraction with the cluster Ingress-controller
AdminLoad Balancer (Ingress)443 (optional)TCPInteraction with the cluster Ingress-controller
AdminVIP Control Plane Nodes (KubeAPI)6443TCPCluster administration and management
AdminManagement Cluster22TCPManagement cluster installation — SSH
Cluster nodes (Control Plane, Worker)Node VIP Control Plane (KubeAPI)6443TCPKubernetes and STD components for interacting with the cluster
Cluster nodesLoad Balancer (Ingress)80 (optional)TCPInteraction with the cluster Ingress-controller
Cluster nodesLoad Balancer (Ingress)443TCPInteraction with the cluster Ingress-controller
Load Balancer (Ingress)Worker nodes30080 (optional)TCPInteraction with the cluster Ingress-controller
Load Balancer (Ingress)Worker nodes30443 (optional)TCPInteraction with the cluster Ingress-controller
Load Balancer (Ingress)Worker nodes443 (optional)TCPInteraction with the cluster Ingress-controller
Load Balancer (Ingress)Worker nodes80TCPInteraction with the cluster Ingress-controller
Control Plane nodesWorker nodes (Kubelet)10250TCPKubernetes component for interacting with kubelet
Cluster nodes (Control Plane, Worker)Cluster nodes (Control Plane, Worker)4240TCPCluster network (Cilium)
Cluster nodes (Control Plane, Worker)Cluster nodes (Control Plane, Worker)—ICMPCluster network (Cilium)
Cluster nodes (Control Plane, Worker)Cluster nodes (Control Plane, Worker)6081UDPCluster network (Cilium)
Worker nodesS3 (Simple Storage Service)9000TCPInteraction with S3 storage (Velero)
Worker nodes of the DR management clusterS3 (Simple Storage Service)9000TCP/UDPInteraction with S3 storage (Velero)
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPInteraction of ETCD cluster nodes
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPComponents Kubernetes
Worker nodes of the DR management clusterActive Directory389TCP/UDPInteraction with Active Directory, LDAP
Worker nodes of the DR management clusterActive Directory636TCPInteraction with Active Directory, LDAP
Worker nodes of the management clusterActive Directory389TCP/UDPInteraction with Active Directory, LDAP
Worker nodes of the management clusterActive Directory636TCPInteraction with Active Directory, LDAP
Management ClusterVIP Control Plane of client cluster nodes (KubeAPI)6443TCPInteraction of the management cluster with the client cluster
DR management clusterVIP Cont.rol Plane of client cluster nodes (KubeAPI)6443TCPInteraction of the DR management cluster with the client cluster
Management ClusterClient cluster22TCPInstalling a client cluster via SSH
DR management clusterClient cluster22TCPInstalling a client cluster via SSH
Client clusterLoad Balancer443TCPValidation of a client cluster token through the management cluster
Management ClusterLoad Balancer443TCPManagement Cluster Token Validation
DR management clusterLoad Balancer443TCPValidation of DR-cluster management token
Client clusterLoad balancer (logs, metrics)443TCPCluster interaction with Ingress-controller to redirect metrics and logs
Client clusterMirror (Registry)443TCPInteraction of the cluster with the image repository on the mirror
Management ClusterMirror (Registry)443TCPInteraction of the cluster with the image repository on the mirror
DR management clusterMirror (Registry)443TCPInteraction of the DR cluster with the image repository on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication with an external provider
DR management clusterKeycloak, Blitz443, 80TCPAuthentication with an external provider

oVirt, VMware vSphere with internal balancer for KubeAPI and external for Ingress

Scheme — illustration

oVirt and VMware vSphere scheme: internal KubeAPI balancer, external Ingress

Description
SourceDestinationPortProtocolPurpose
AdminLoad Balancer (Ingress)80, 443TCPIngress-controller
AdminVIP Control Plane Nodes (KubeAPI)6443TCPCluster Administration
AdminManagement Cluster22TCPInstallation via SSH
Cluster nodesNode VIP Control Plane (KubeAPI)6443TCPInteraction with the cluster
Cluster nodesLoad Balancer (Ingress)80, 443TCPIngress-controller
Client clusterLoad Balancer443TCPToken Validation
Management ClusterLoad Balancer443TCPToken Validation
Load Balancer (Ingress)Worker nodes30080, 30443 (optional), 443, 80TCPIngress-controller
Control Plane nodesWorker nodes (Kubelet)10250TCPkubelet
Cluster nodesCluster nodes4240TCPCluster network (Cilium)
Cluster nodesCluster nodes—ICMPCluster network (Cilium)
Cluster nodesCluster nodes6081UDPCluster network (Cilium)
Worker nodesS39000TCPVelero
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPETCD
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPKubernetes
Worker nodes of the management clusterActive Directory389, 636TCP/UDP, TCPLDAP
Management ClusterVIP Control Plane of the client cluster (KubeAPI)6443TCPClient cluster management
Worker nodes of the management clusteroVirt Engine / vCenter443TCPCreating clusters (oVirt, VMware vSphere)
Client clusterLoad balancer (logs, metrics)443TCPMetrics, logs
Client clusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication

oVirt, VMware vSphere with internal balancer for KubeAPI, external for Ingress and CoreHA in client cluster

Scheme — illustration

![Screenshot: oVirt, VMware vSphere with internal balancer for KubeAPI, external for Ingress and CoreHA in client cluster](/а э.png)

Description
SourceDestinationPortProtocolPurpose
AdminLoad Balancer (Ingress)80TCPInteraction with the cluster Ingress-controller
AdminLoad Balancer (Ingress)443TCPInteraction with the cluster Ingress-controller
AdminVIP Control Plane Nodes (KubeAPI)6443TCPCluster administration and management
AdminManagement Cluster22TCPInstalling a management cluster via SSH
Cluster nodes (Control Plane, Worker)Node VIP Control Plane (KubeAPI)6443TCPKubernetes and STD components for interacting with the cluster
Load Balancer (Ingress)Worker nodes30080 (optional)TCPInteraction of the management cluster with Ingress-controller
Cluster nodesLoad Balancer (Ingress)80 (optional)TCPInteraction with the cluster Ingress-controller
Cluster nodesBaLoad Lancer (Ingress)443 (optional)TCPInteraction with the cluster Ingress-controller
Load Balancer (Ingress)Worker nodes30443 (optional)TCPInteraction of the management cluster with Ingress-controller
Load Balancer (Ingress)Worker nodes443TCPInteraction of the management cluster with Ingress-controller
Load Balancer (Ingress)Worker nodes80TCPInteraction of the management cluster with Ingress-controller
Control Plane nodesWorker nodes (Kubelet)10250TCPKubernetes component for interacting with kubelet
Client clusterLoad Balancer443TCPValidation of a client cluster token through the management cluster
Management ClusterLoad Balancer443TCPManagement Cluster Token Validation
Cluster nodes (Control Plane, Worker)Cluster nodes (Control Plane, Worker)4240TCPCluster network (Cilium)
Cluster nodes (Control Plane, Worker)Cluster nodes (Control Plane, Worker)—ICMPCluster network (Cilium)
Cluster nodes (Control Plane, Worker)Cluster nodes (Control Plane, Worker)6081UDPCluster network (Cilium)
Worker nodes of the management clusterS3 (Simple Storage Service)9000TCPInteraction with S3 storage (Velero)
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPInteraction of ETCD cluster nodes
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPComponents Kubernetes
Worker nodes of the management clusterActive Directory389TCP/UDPInteraction with Active Directory, LDAP
Worker nodes of the management clusterActive Directory636TCPInteraction with Active Directory, LDAP
Management ClusterVIP Control Plane of client cluster nodes (KubeAPI)6443TCPInteraction of the management cluster with the client cluster
Load BalancerVIP Control Plane of client cluster nodes (CoreHA DNS)1053TCPDynamically adding backends to HAProxy
Worker nodes of the management clusteroVirt Engine443TCPCreating clusters using the oVirt provider
Worker nodes of the management clustervCenter443TCPCreating Clusters Using the vSphere Provider
Client clusterLoad balancer (logs, metrics)443TCPCluster interaction with Ingress-controller to redirect metrics and logs
Client clusterMirror (Registry)443TCPInteraction of the cluster with the image repository on the mirror
Management ClusterMirror (Registry)443TCPInteraction of the cluster with the image repository on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication with an external provider

oVirt, VMware vSphere with internal balancer for KubeAPI and Ingress

Scheme — illustration

oVirt and VMware vSphere scheme: internal KubeAPI and Ingress balancers

Description
SourceDestinationPortProtocolPurpose
AdminVIP Worker Nodes (Ingress)80, 443TCPIngress-controller
AdminVIP Control Plane Nodes (KubeAPI)6443TCPCluster Administration
AdminManagement Cluster22TCPInstallation via SSH
Cluster nodesNode VIP Control Plane (KubeAPI)6443TCPInteraction with the cluster
Control Plane nodesWorker nodes (Kubelet)10250TCPkubelet
Cluster nodesCluster nodes4240TCPCluster network (Cilium)
Cluster nodesCluster nodes—ICMPCluster network (Cilium)
Cluster nodesCluster nodes6081UDPCluster network (Cilium)
Worker nodesS39000TCPVelero
Control Plane nodeControl Plane nodes (Etcd)2379, 2380TCPETCD
Control Plane nodeControl Plane nodes (Kube components)10250, 10257, 10259TCPKubernetes
Worker nodes of the management clusterActive Directory389, 636TCP/UDP, TCPLDAP
Management ClusterVIP Control Plane of the client cluster (KubeAPI)6443TCPClient cluster management
Cluster nodesVIP Worker Nodes (Ingress)80, 443TCPIngress-controller
Client clusterVIP Worker Nodes443TCPToken Validation
Worker nodes of the management clusteroVirt Engine / vCenter443TCPCreating clusters
Client clusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterMirror (Registry)443TCPRepository of images on the mirror
Management ClusterKeycloak, Blitz443, 80TCPAuthentication

Additional requirements

RequirementDescription
Time SynchronizationNTP or Chrony on nodes and on the mirror host
LicenseEnterprise; Worker and vCPU limits — in the license text; if exceeded — notification in the GUI

Browser requirements

Recommended monitor resolution: 1498×906.

Supported

BrowserVersion
Chrome120–146
Edge120–145
Safari17–26
Firefox122–148
Opera107–126

Browsers from which the GUI is not available

  • IE;
  • Opera Mini;
  • UC Browser for Android;
  • QQ Browser;
  • Baidu Browser;
  • KaiOS Browser;
  • Opera Mobile;
  • Android Browser;
  • Firefox for Android;
  • Samsung Internet Browser;
  • Safari on iOS.

Checklist before installation

  • mirror expanded; there is a bundle and Enterprise license
  • Nodes and machine shtil have access to the mirror via HTTPS
  • If Docker is used on the shtil machine and the mirror has a self-signed or corporate CA, the CA is added to /etc/docker/certs.d/<registry-host>/ca.crt or the mirror is configured to insecure-registries
  • Resources and OS meet requirements
  • DNS, VIP or balancers prepared according to the script
  • Firewalls are configured according to matrices

Checks with the line command - Prepare.