Encryption
In-Flight (TLS) Encryption
In-flight encryption for UltiHash can be configured on two different levels:
Internal Ingress object - part of the UltiHash deployment on Kubernetes
External load balancer - a proxy that fronts Kubernetes cluster and distributes traffic to its nodes
Configure TLS on the Ingress level
The Helm chart deploys UltiHash with a dedicated Ingress object by default. The object is located in the same namespace as the deployed UltiHash cluster and can be found by executing the command below (replace <namespace>
with the Kubernetes namespace where your UltiHash cluster is deployed):
The Ingress object can be configured in a custom way via Helm values:
To enable TLS encryption at Ingress level perform the following actions:
register a domain name for UltiHash cluster in your private or public DNS server (for example
example.domain.name
)generate TLS private key and certificate bound to your registered domain name
create a Kubernetes secret in your UltiHash namespace with TLS credentials as shown here (assume the secret's name is
secret-tls
)enable the Ingress object using your domain name and the corresponding TLS secret in the helm values:
Configure TLS encryption on the external load balancer level
The TLS configuration for an external load balancer heavily depends on the type of the used load balancer. Please refer to the documentation of your load balancer.
This guide shows the TLS configuration for a network load balancer on AWS (the recommended load balancer type to use on AWS for higher performance).
In the case of Nginx Inress controller on AWS EKS cluster, here is an example of a network load balancer configuration with TLS. To provision a network load balancer automatically, the AWS load balancer controller has to be installed in advance. Modify the helm values of the Nginx Ingress controller's helm chart in the following way:
Encryption at Rest
The configuration of at-rest encryption for UltiHash cluster depends on the CSI driver used on your Kubernetes cluster. Please refer to the documentation of your CSI driver.
The example below shows how to enable encryption at rest for data stored in UltiHash in the case of AWS EBS CSI driver. The driver has to be installed in advance before deploying UltiHash cluster, please follow the official guide. After the EBS CSI driver is installed, provision a storage class on your Kubernetes cluster with the configuration as shown below:
To enable UltiHash cluster using the storage class above, specify it in the helm values of the UltiHash helm chart:
Last updated