1.8 KiB
1.8 KiB
Cluster Autoscaler on Ionos Cloud Managed Kubernetes
The cluster autoscaler for the Ionos Cloud scales worker nodes within Managed Kubernetes cluster
node pools. It can be deployed as Deployment in your cluster.
Deployment
Managed
Managed autoscaling can be enabled or disabled via Kubernetes Manager in the DCD
or API.
In this case a Deployment is not needed, since it will be deployed in the managed Kubernetes controlplane.
In-cluster
Build and push a docker image in the cluster-autoscaler directory:
make build-in-docker BUILD_TAGS=ionoscloud
make make-image BUILD_TAGS=ionoscloud TAG='<tag>' REGISTRY='<registry>'
make push-image BUILD_TAGS=ionoscloud TAG='<tag>' REGISTRY='<registry>'
If you're using rootless podman, create a symlink to docker and build the image using:
make make-image BUILD_TAGS=ionoscloud TAG='<tag>' REGISTRY='<registry>' DOCKER_NETWORK=host
If you don't have a token, generate one:
curl -u '<username>' -p '<password>' https://api.ionos.com/auth/v1/tokens/generate
Edit cluster-autoscaler-standard.yaml and deploy it:
kubectl apply -f examples/cluster-autoscaler-standard.yaml
Development
The unit tests use mocks generated by mockery v2. To update them run:
mockery --inpackage --testonly --case snake --boilerplate-file ../../../hack/boilerplate/boilerplate.generatego.txt --name APIClient
mockery --inpackage --testonly --case snake --boilerplate-file ../../../hack/boilerplate/boilerplate.generatego.txt --name IonosCloudManager