Operator
Deployment
Installing and configuring the Lux Operator on Kubernetes
Prerequisites
- Kubernetes 1.28+
kubectlconfigured with cluster access- Container registry access to
ghcr.io/luxfi
Install CRDs
Apply the custom resource definitions before deploying the operator:
kubectl apply -f https://raw.githubusercontent.com/luxfi/operator/main/k8s/crds/Deploy the Operator
apiVersion: apps/v1
kind: Deployment
metadata:
name: lux-operator
namespace: lux-system
spec:
replicas: 1
selector:
matchLabels:
app: lux-operator
template:
metadata:
labels:
app: lux-operator
spec:
serviceAccountName: lux-operator
containers:
- name: operator
image: ghcr.io/luxfi/operator:v0.3.9
args:
- --leader-election
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256MiThe operator requires a ServiceAccount with RBAC permissions to manage StatefulSets, Services, ConfigMaps, PodDisruptionBudgets, and all Lux CRDs.
Apply with Kustomize
The recommended deployment method uses Kustomize:
cd k8s/
kubectl kustomize . | kubectl apply -f -Configuration
The operator is configured primarily through CRD specs. Key operational flags:
| Flag | Description |
|---|---|
--leader-election | Enable leader election for HA (presence = true) |
--reconcile-interval | Reconciliation loop interval (default: 60s) |
--metrics-addr | Prometheus metrics bind address (default: :8080) |
Verify Installation
kubectl get deployment lux-operator -n lux-system
kubectl get crd | grep lux.networkCheck operator logs for reconciliation activity:
kubectl logs -n lux-system deployment/lux-operator