Install Beamlit controller
Manage Beamlit resources from your Kubernetes cluster with the Beamlit controller.
The open-source Beamlit controller allows to remotely create and control objects (such as models) on a destination cluster. The destination cluster can be Beamlit Global Inference Network or any of your Kubernetes clusters. The Beamlit controller can also monitor the health of any AI app deployed in your cluster. A Beamlit gateway (installed in your cluster alongside the controller) load-balances requests between your deployment and the one in the destination when needed.
Prerequisites
Before you begin, ensure that you have the following:
-
A Kubernetes Cluster: A running Kubernetes cluster (version 1.27 or later is recommended). You can use managed services like Amazon EKS, Google GKE, Azure AKS, or set up your own cluster.
-
kubectl: Installed and configured to interact with your Kubernetes cluster. Installation Guide.
-
Helm. Version 3.8.0 or later is recommended in order to use OCI-based registries. Check out the Installation Guide.
-
A service account created in your Beamlit workspace, for which you have retrieved the
client ID
andclient secret
Install the controller with Helm
Configure custom values (optional)
The Helm chart comes with default configurations, but you can customize them as needed.
-
Fetch default
values.yaml
: -
Edit
values.yaml
:Open
values.yaml
in your preferred text editor and modify the parameters as needed.beamlitApiToken
is a required parameter that is the base64 encoding of the concatenation ofclientId
andclientSecret
with a colon in between, like so:clientId:clientSecret
Example:
Install the controller
Once you have configured your settings, proceed to install the controller. It is recommended to create a new namespace for this.
-
Basic installation (with default
values.yaml
) -
Installation with custom
values.yaml
:If you’ve customized the
values.yaml
, use the-f
flag to apply your configurations. -
Verify installation:
Verify the installation
Ensure that all components of the controller are running correctly.
-
Check pods:
You should see pods related to the Beamlit controller and gateway in the
Running
state. -
Check logs:
To troubleshoot or verify operations, view the logs of the controller pod.
Upgrading the controller
To upgrade the controller to a newer version, follow these steps:
-
Upgrade the release. You can refer to this Helm documentation on subcommands:
If you have a custom
values.yaml
, include the-f
flag: -
Verify the upgrade:
Check the status of the release to ensure the upgrade was successful.
Uninstalling the controller
If you need to remove the controller from your cluster, run this command:
Additional Resources
- Helm Documentation: https://helm.sh/docs/
- Kubernetes Documentation: https://kubernetes.io/docs/
Troubleshooting Tips
- Helm Not Found Error: Ensure Helm is installed and added to your system’s PATH.
- Permission Denied: Verify that your Kubernetes context has the necessary permissions to install resources in the target namespace.
- Pod CrashLoopBackOff: Check the pod logs for errors and ensure that all required configurations (e.g., API keys) are correctly set in
values.yaml
. - Network Issues: Ensure that your cluster can reach the control plane endpoint specified in the configuration.