Distributed installation with KUMA Core in a Raft cluster
A distributed installation of KUMA with multiple KUMA Core services in a cluster helps provide high availability. One of the services becomes the leader; the leader is elected based on the Raft algorithm. Write operations are performed by the leader and broadcast to all servers in the cluster. Read operations are performed by each service from its local SQLite database. Thus, in addition to high availability, creating multiple KUMA Core services also takes care of horizontal scaling. The number of deployed KUMA Core services must be odd.
In the distributed.inventory.yml inventory file, you must manually add the kuma_core_peers group and specify an even number of servers on which you want to install the additional KUMA Core services. Also, in the kuma_core group, you can specify the raft_node_addr parameter in the <FQDN of a server from the kuma_core group on which the KUMA Core is installed>:<port> format. This FQDN will be used to listen for signals from other nodes.
After starting the install.sh installer with the prepared distributed.inventory.yml inventory file, none of the additional KUMA Core services are automatically installed on the servers. The installer only prepares the servers specified in the inventory file for the installation of services. After the installer finishes, only one KUMA Core service is automatically installed on the server specified in the kuma_core group. After the installer finishes, you need to manually create the KUMA Core services in the web interface and install the KUMA Core services with unique IDs one by one on each server specified in the kuma_core_peers group.
In the expand.inventory.yml inventory file, you must manually add the kuma_core_peers group and specify an even number of servers on which you want to install the additional KUMA Core services.
After starting the expand.sh installer with the prepared expand.inventory.yml inventory file, none of the additional KUMA Core services are automatically installed on the servers. The installer only prepares the servers specified in the inventory file for the installation of services. After the installer finishes, only one KUMA Core service is automatically installed on the server specified in the kuma_core group. After the installer finishes, you need to manually create the KUMA Core services in the web interface and install the KUMA Core services with unique IDs one by one on each server specified in the kuma_core_peers group.
In the distributed.inventory.yml inventory file, you must manually add the kuma_core_peers group and specify an even number of servers on which you want to install the additional KUMA Core services. Also, in the kuma_core group, you can specify the raft_node_addr parameter in the <FQDN of a server from the kuma_core group on which the KUMA Core is installed>:<port> format. This FQDN will be used to listen for signals from other nodes.
After starting the installer with the prepared inventory file, none of the additional KUMA Core services are automatically installed on the servers. The installer only prepares the servers specified in the inventory file for the installation of services. After the installer finishes, only one KUMA Core service is automatically installed on the server specified in the kuma_core group. After the installer finishes, you need to manually create the KUMA Core services in the web interface and install the KUMA Core services with unique IDs one by one on each server specified in the kuma_core_peers group.
After installation, all KUMA Core services are automatically added to the Raft cluster.
KUMA Core logs are stored in the /opt/kaspersky/kuma/core/<KUMA Core service ID>/log/core directory.