Installation
This guide provides detailed instructions for installing Kite in your Kubernetes environment.
Prerequisites
kubectl
with cluster admin access- Helm v3 (for Helm installation method)
Installation Options
INFO
Kite works out of the box with minimal configuration.
- If running with CLI, it defaults to using your local kubeconfig.
- If running in Kubernetes, it defaults to using the in-cluster configuration.
Without any authentication configuration, all users can access the dashboard, but only with read-only permissions.
For more advanced setups, see the Configuration section.
Option 1: Helm Chart (Recommended)
Using Helm provides the most flexibility for configuration and upgrades:
# Add the Kite repository
helm repo add kite https://zxh326.github.io/kite/charts
# Update repository information
helm repo update
# Install with default configuration
helm install kite kite/kite -n kite-system --create-namespace
Customizing Helm Installation
You can customize the installation by creating a values file:
Full values configuration can be found in the Chart Values document.
Then install using your custom values:
helm install kite kite/kite -n kite-system -f values.yaml
Option 2: YAML Manifest
For simple deployments, you can apply the installation YAML directly:
kubectl apply -f https://raw.githubusercontent.com/zxh326/kite/main/deploy/install.yaml
This method installs Kite with default settings. For more advanced configuration, consider using the Helm chart.
Accessing Kite
Using Port Forwarding
The simplest way to access Kite during testing:
kubectl port-forward -n kite-system svc/kite 8080:8080
Using LoadBalancer Service
If your cluster supports LoadBalancer services, you can expose Kite:
kubectl patch svc kite -n kite-system -p '{"spec": {"type": "LoadBalancer"}}'
Get the assigned IP:
kubectl get svc kite -n kite-system
Using Ingress
For production deployments, configure an Ingress controller to expose Kite with TLS:
TIP
Kite's log and web terminal features require websocket support.
Some Ingress controllers may require additional configuration to handle websockets correctly.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kite
namespace: kite-system
spec:
ingressClassName: nginx
rules:
- host: kite.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kite
port:
number: 8080
tls:
- hosts:
- kite.example.com
secretName: kite-tls
Verifying Installation
To verify that Kite is running properly:
kubectl get pods -n kite-system
All pods should show Running
status with 1/1
ready.
Upgrading
Helm Upgrade
helm repo update
helm upgrade kite kite/kite -n kite-system
YAML Upgrade
kubectl apply -f https://raw.githubusercontent.com/zxh326/kite/main/deploy/install.yaml
Uninstalling
Helm Uninstall
helm uninstall kite -n kite-system
YAML Uninstall
kubectl delete -f https://raw.githubusercontent.com/zxh326/kite/main/deploy/install.yaml
Next Steps
After installing Kite, you may want to: