This topic includes instructions for installing and running HAMi-WebUI on Kubernetes using Helm Charts.
Helm is an open-source command line tool used for managing Kubernetes applications. It is a graduate project in the CNCF Landscape.
The HAMi-WebUI open-source community offers Helm Charts for running it on Kubernetes. Please be aware that the code is provided without any warranties. If you encounter any problems, you can report them to the Official GitHub repository.
To install HAMi-WebUI using Helm, ensure you have completed the following:
Install a Kubernetes server on your machine. For information about installing Kubernetes, refer to Install Kubernetes.
Install the latest stable version of Helm. For information on installing Helm, refer to Install Helm.
Install HAMi on your Kubernetes cluster. For information about installing HAMi, refer to Install HAMi.
When you install HAMi-WebUI using Helm, you complete the following tasks:
Set up the HAMi-WebUI Helm repository, which provides a space in which you will install HAMi-WebUI.
Deploy HAMi-WebUI using Helm, which installs HAMi-WebUI into a namespace.
Access HAMi-WebUI by navigating to the provided URL.
To set up the HAMi-WebUI Helm repository so that you download the correct HAMi-WebUI Helm charts on your machine, complete the following steps:
To add the HAMi-WebUI repository, use the following command syntax:
helm repo add <DESIRED-NAME> <HELM-REPO-URL>
The following example adds the hami-webui
Helm repository.
helm repo add hami-webui https://project-hami.github.io/HAMi-WebUI
Run the following command to verify the repository was added:
helm repo list | grep hami-webui
After you add the repository, you should see an output similar to the following:
hami-webui https://project-hami.github.io/HAMi-WebUI
Run the following command to update the repository to download the latest HAMi-WebUI Helm charts:
helm repo update
After you have set up the HAMi-WebUI Helm repository, you can start to deploy it on your Kubernetes cluster.
When you deploy HAMi-WebUI Helm charts, use a separate namespace instead of relying on the default namespace. The default namespace might already have other applications running, which can lead to conflicts and other potential issues.
When you create a new namespace in Kubernetes, you can better organize, allocate, and manage cluster resources. For more information, refer to Namespaces.
To create a namespace, run the following command:
kubectl create namespace hami
You will see an output similar to this, which means that the namespace has been successfully created:
namespace/hami created
Search for the official hami-webui/hami-webui
repository using the command:
helm search repo <repo-name/package-name>
For example, the following command provides a list of the HAMi-WebUI Helm Charts from which you will install the latest version of the HAMi-WebUI chart.
helm search repo hami-webui/hami-webui
values.yaml
file to match your cluster’s requirements. For detailed instructions, refer to the Configuration Guide for HAMi-WebUI Helm Chart
Important: You must adjust the values.yaml before proceeding with the deployment.
Download the values.yaml
file from the Helm Charts repository:
https://github.com/Project-HAMi/HAMi-WebUI/blob/main/charts/hami-webui/values.yaml
Once you’ve adjusted the values.yaml
, run the following command to deploy the HAMi-WebUI Helm Chart inside your namespace:
helm install my-hami-webui hami-webui/hami-webui --namespace hami -f values.yaml
Where:
helm install
: Installs the chart by deploying it on the Kubernetes clustermy-hami-webui
: The logical chart name that you providedhami-charts/hami-webui
: The repository and package name to install--namespace
: The Kubernetes namespace (i.e. hami
) where you want to deploy the chartTo verify the deployment status, run the following command and verify that deployed
appears in the STATUS column:
helm list -n hami
You should see an output similar to the following:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
my-hami-webui hami 1 2024-09-11 14:19:09.003195 +0800 CST deployed hami-webui-1.1.0 1.1.0
To check the overall status of all the objects in the namespace, run the following command:
kubectl get all -n hami
If you encounter errors or warnings in the STATUS column, check the logs and refer to the Troubleshooting section of this documentation.
Run the following command to do a port-forwarding of the HAMi-WebUI service on port 3000
.
kubectl port-forward service/my-hami-webui 3000:3000 --namespace=hami
For more information about port-forwarding, refer to Use Port Forwarding to Access Applications in a Cluster.
Navigate to localhost:3000
in your browser.
The HAMi-WebUI resources-overview page appears.
This section includes troubleshooting tips you might find helpful when deploying HAMi-WebUI on Kubernetes via Helm.
It is important to view the HAMi-WebUI server logs while troubleshooting any issues.
To check the HAMi-WebUI logs, run the following command:
kubectl logs --namespace=hami deploy/my-hami-webui -c hami-webui-fe-oss
kubectl logs --namespace=hami deploy/my-hami-webui -c hami-webui-be-oss
For more information about accessing Kubernetes application logs, refer to Pods and Deployments.
To uninstall the HAMi-WebUI deployment, run the command:
helm uninstall <RELEASE-NAME> <NAMESPACE-NAME>
helm uninstall my-hami-webui -n hami
This deletes all of the objects from the given namespace hami.
If you want to delete the namespace hami
, then run the command:
kubectl delete namespace hami