Installation
Overview
KubeCloudScaler can be installed using three different methods. Choose the one that best fits your deployment strategy:
- Helm (Recommended): Best for production deployments with easy configuration management
- Kustomize: Ideal for GitOps workflows and customized deployments
- Manual: For development, testing, or when you need full control over the build process
Recommended for production environments
Install KubeCloudScaler
Install the operator using Helm with the official OCI registry:
helm upgrade --install kubecloudscaler \
oci://ghcr.io/kubecloudscaler/charts/kubecloudscaler \
--namespace kubecloudscaler-system \
--create-namespaceCreate Your First Scaler Configuration
Create a YAML file (e.g., my-scaler.yaml) with your scaling configuration:
# Example: Scale down all deployments in 'default' namespace during evening hours
apiVersion: kubecloudscaler.cloud/v1alpha3
kind: K8s
metadata:
name: evening-scaledown
spec:
periods:
- type: "down"
time:
recurring:
days:
- all
startTime: "19:00"
endTime: "21:00"
timezone: "Europe/Paris"
minReplicas: 0
maxReplicas: 10
resources:
types:
- deployments
config:
namespaces:
- default
forceExcludeSystemNamespaces: trueNote
K8s, Gcp, and Flow CRDs are cluster-scoped resources. Do not set metadata.namespace.
Apply the Configuration
Deploy your scaler configuration:
kubectl apply -f my-scaler.yamlVerify Installation
Check that the operator is running:
kubectl get pods -n kubecloudscaler-system
kubectl get k8sUninstall (Optional)
To remove KubeCloudScaler completely:
# Remove your scaler configurations first
kubectl delete k8s --all
kubectl delete gcp --all
kubectl delete flow --all
# Uninstall the Helm chart
helm uninstall kubecloudscaler -n kubecloudscaler-system
# Remove the namespace if desired
kubectl delete namespace kubecloudscaler-systemNext Steps
After installation, you can:
- Configure your first scaler – See the Usage Guide for detailed configuration examples
- Monitor scaling operations – Check the operator logs and resource events
- Set up multiple scalers – Create different scaling policies for different applications or environments
- Orchestrate with Flows – Use the Flow resource to coordinate multi-resource scaling
Troubleshooting
Common Issues
Operator not starting: Check the logs with kubectl logs -n kubecloudscaler-system deployment/kubecloudscaler-controller-manager
Permissions issues: Ensure your cluster has the necessary RBAC permissions for the operator. The Helm chart and kustomize manifests include the required ClusterRole and ClusterRoleBinding.
CRD conflicts: If upgrading, ensure old CRDs are properly updated. KubeCloudScaler supports multiple API versions (v1alpha1, v1alpha2, v1alpha3) with automatic conversion.
Webhook errors: If you see webhook-related errors, ensure cert-manager is installed or that webhook certificates are properly configured.