An exporter that parses Cluster Autoscaler's status and expose it for Prometheus
We have designed the deployment of this project to allow remote deployment using Kustomize. This way it is possible to use it with a GitOps approach, using tools such as ArgoCD or FluxCD. Just make a Kustomization manifest referencing the tag of the version you want to deploy as follows:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/prosimcorp/cluster-autoscaler-status-exporter//deploy/?ref=main
Each release of this container is done following several steps carefully in order not to break the things for anyone.
-
Test the changes on the code:
make test
A release is not done if this stage fails
-
Define the package information
export VERSION="0.0.1"
-
Generate and push the Docker image (published on Docker Hub).
make docker-buildx
There are several flags that can be configured to change the behaviour of the application. They are described in the following table:
Name | Description | Default | Example |
---|---|---|---|
--connection-mode |
Connect from inside or outside Kubernetes | kubectl |
--connection-mode incluster |
--kubeconfig |
Path to the kubeconfig file | ~/.kube/config |
--kubeconfig "~/.kube/config" |
--namespace |
Namespace where to look for Cluster Autoscaler's status configmap | kube-system |
--namespace "default" |
--configmap |
Name of Cluster Autoscaler's status configmap | cluster-autoscaler-status |
--configmap "another-cm" |
--metrics-port |
Port to launch the metrics webserver | 2112 |
--metrics-port "6789" |
--metrics-host |
Host to launch the metrics webserver | 0.0.0.0 |
--metrics-host "1.1.1.1" |
--help |
Show this help message | - | - |
We are open to external collaborations for this project: improvements, bugfixes, whatever.
For doing it, open an issue to discuss the need of the changes, then:
- Fork the repository
- Make your changes to the code
- Open a PR and wait for review
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.