2. Installation
This guide provides a detailed walkthrough for setting up an UltiHash cluster in a Kubernetes environment, whether on-premises or in a cloud environment. The process is divided into four main steps:
Prerequisites: Gather the necessary credentials, tools, and environment configurations.
Cluster setup: Configure your Kubernetes cluster, including creating namespaces and provisioning secrets.
Helm installation: Deploy UltiHash using Helm, customizing the setup for your specific environment.
Post-installation: Verify the installation.
Step 1: Prerequisites
Before you begin the installation, ensure you have the following:
Credentials: After purchasing the UltiHash license, you will receive:
Registry login and password (referred to as
registry_login
andregistry_password
).License key (referred to as
license_key
).Monitoring token (referred to as
monitoring_token
).
Kubernetes cluster:
Version: Ensure you have a Kubernetes cluster running version 1.20 or higher.
Controllers:
Ingress controller: Exposes the UltiHash cluster API endpoint outside the Kubernetes cluster. The recommended solution is Nginx Ingress (tested on version 1.9.6).
CSI controller: Manages persistent volumes.
Note: You can use any Kubernetes version starting from 1.20, and any CSI controller that dynamically provisions and attaches persistent volumes. For optimal performance, use a CSI controller that imposes the least disk performance degradation.
Local environment:
kubectl: Ensure Kubernetes command line tool
kubectl
is installed and configured to access the cluster.Helm: Install Kubernetes package manager Helm (version 3.x) to manage Kubernetes packages.
Step 2: Cluster setup
Namespace creation:
Create a Kubernetes namespace for the UltiHash installation:
Replace
<storage>
with your desired namespace name.
Secrets provisioning:
Registry credentials: Provision a secret in Kubernetes to store the UltiHash registry credentials:
Replace
<storage>
with the namespace name. Replace<registry_username>
, and<registry_password>
with the appropriate values you received from UltiHash.License key and monitoring token: Create a secret in Kubernetes for the license key and monitoring token:
Replace
<storage>
with the namespace name. Replace<license_key>
and<monitoring_token>
with the specific values provided by UltiHash.
Step 3: Helm installation
Helm chart deployment:
Deploy the Helm chart with a specific release name and namespace:
Replace
<release_name>
and<storage>
with your chosen names.values.yaml
should be configured as described below.
Component configuration:
Customize the
values.yaml
file with the necessary configurations:Storage class: Specify the storage class name created by your CSI controller.
Domain name: Enter a valid domain name for your UltiHash cluster.
Service replicas and storage size: Adjust the number of replicas and storage size for services like
etcd
,entrypoint
,storage
, anddeduplicator
based on your requirements.
Step 4: Post-installation
Verification:
After deployment, verify that all services are running correctly by checking the Kubernetes namespace:
Ensure that all pods are in the
Running
state with no errors.
Last updated