Install KubeTally
This topic describes the steps to install KubeTally on the cluster using the script provided in the repository.
The following is the workflow of the script:
-
As the first step, the script ensures that all prerequisites are met.
-
In addition, the script requires the following binaries installed and available in your system's PATH:
- yq (minimum version: 4.44.2)
- helm (minimum version: 3.15.0)
- kubectl (minimum version: 1.23.6)
- jq (minimum version: 1.6.0)
-
-
The script validates access to necessary Kubernetes clusters using Kubernetes context.
-
The script installs or updates the helm charts, which:
- Installs or upgrades the KubeTally Controller
- Installs or upgrades the KubeTally user interface
-
In addition to the KubeTally Controller, the script also
- Creates the default project
- Creates defined projects in the controller
- Registers defined clusters within these projects
- Manages clusters
-
The script installs or upgrades worker nodes by applying the necessary configuration.
Clone the Repository
Clone the repository using the following command:
git clone https://github.com/kubeslice-ent/kubetally-installer
Ensure the YAML configuration file is correctly formatted and contains all necessary fields.
The script will exit with an error if any critical steps fail unless configured to skip on failure.
Paths specified in the YAML file must be relative to the base_path
unless absolute paths are used.
Modify the Configuration File
-
Navigate to the cloned repository and locate the input configuration file called
kubetally-installer-config.yaml
. -
Update the following mandatory parameters:
a. Insert the image pull secrets received though email as part of the registration process.
global_image_pull_secret:
repository: "https://index.docker.io/v1/"
username: "" # Global Docker registry username (MANDATORY)
password: "" # Global Docker registry password (MANDATORY)b. Set the Kubernetes global kubeconfig and kubecontext parameters.
global_kubeconfig: "" # Relative path to global kubeconfig file from base_path default is script directory (MANDATORY)
global_kubecontext: "" # Global kubecontext (MANDATORY)c. Postgres configuration
-
In-cluster PostgreSQL Service
Set
skip_installation
tofalse
for PostgreSQL in theadditional_apps
section of the configuration, and the script automatically fetches the PostgreSQL configuration. -
Managed PostgreSQL Service
-
Set
skip_installation
totrue
when you are using managed PostgreSQL service. -
Set the following PostgreSQL values using the following template:
global:
kubeTally:
enabled: true
postgresSecretName: kubetally-db-credentials
postgresAddr:
postgresPort:
postgresUser:
postgresPassword:
postgresDB:
-
-
Execute the Installation Script
The installation script creates a default project workspace and registers worker clusters.
Execute the script using the following command:
./kubetally-installer.sh --input-yaml kubetally-installer-config.yaml
Troubleshooting
- For missing binaries, ensure all required binaries are installed and accessible in your system's PATH.
- For cluster access issues, verify that kubeconfig files configuration so the script can access the clusters specified in the YAML configuration.
- For timeout issues, if a component fails to install within the specified timeout, increase the verify_install_timeout in the YAML file.