crane
crane copied to clipboard
add query expressions management by prom-adapter-config
What type of PR is this?
- Add support for automatic rendering of query expressions
- More user-friendly query expressions management capabilities
- Add support for extension-labels
Examples
Make sure you include metrics in your prometheus-adapter-config file
externalRules:
- seriesQuery: 'connection_count'
metricsQuery: 'sum(<<.Series>>{<<.LabelMatchers>>})'
resources:
namespaced: false
name:
matches: "^(.*)_count"
as: "${1}_per_second"
Add args
command:
- /craned
args:
...
- --prometheus-adapter-configmap=crane-system/prometheus-adapter-config/config.yaml
#- --prometheus-adapter-config=/etc/adapter/config.yaml
Modify ehpa config
Delete annotation for metric-query "metric-query.autoscaling.crane.io: xxx"
Add metric config
metrics:
- external:
metric:
name: connection_per_second
selector:
matchLabels:
pod_namespace: "default"
pod_project: "test"
target:
averageValue: "30"
type: AverageValue
type: External
Test
# kubectl get tsp test -o yaml | grep expression
expressionQuery:
expression: sum(connection_count{pod_namespace="default",pod_project="test"})
Extension-labels
Add annotation for extension-labels
apiVersion: autoscaling.crane.io/v1alpha1
kind: EffectiveHorizontalPodAutoscaler
metadata:
name: test
namespace: default
annotations:
prom-adapter.autoscaling.crane.io/extension-labels: |
[{"cluster":"prod"}]
Test
# kubectl get tsp test -o yaml | grep expression
expressionQuery:
expression: sum(connection_count{cluster="prod",pod_namespace="default",pod_project="test"})
🎉 Successfully Build Images. Now Support ARM Platforms. Comment Post Time: 2022-12-13 15:18 Git Version: 4a9c9c7
Docker Registry
Overview: https://hub.docker.com/u/gocrane
| Image | Pull Command |
|---|---|
| crane-agent:pr-560-4a9c9c7 | docker pull gocrane/crane-agent:pr-560-4a9c9c7 |
| dashboard:pr-560-4a9c9c7 | docker pull gocrane/dashboard:pr-560-4a9c9c7 |
| metric-adapter:pr-560-4a9c9c7 | docker pull gocrane/metric-adapter:pr-560-4a9c9c7 |
| craned:pr-560-4a9c9c7 | docker pull gocrane/craned:pr-560-4a9c9c7 |
Quick Deploy - Helm
helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace \
--set craned.image.repository=gocrane/craned \
--set craned.image.tag=pr-560-4a9c9c7 \
--set metricAdapter.image.repository=gocrane/metric-adapter \
--set metricAdapter.image.tag=pr-560-4a9c9c7 \
--set craneAgent.image.repository=gocrane/crane-agent \
--set craneAgent.image.tag=pr-560-4a9c9c7 \
--set cranedDashboard.image.repository=gocrane/dashboard \
--set cranedDashboard.image.tag=pr-560-4a9c9c7 crane/crane
Coding Registry
Overview: https://finops.coding.net/public-artifacts/gocrane/crane/packages
| Image | Pull Command |
|---|---|
| crane-agent:pr-560-4a9c9c7 | docker pull finops-docker.pkg.coding.net/gocrane/crane/crane-agent:pr-560-4a9c9c7 |
| dashboard:pr-560-4a9c9c7 | docker pull finops-docker.pkg.coding.net/gocrane/crane/dashboard:pr-560-4a9c9c7 |
| metric-adapter:pr-560-4a9c9c7 | docker pull finops-docker.pkg.coding.net/gocrane/crane/metric-adapter:pr-560-4a9c9c7 |
| craned:pr-560-4a9c9c7 | docker pull finops-docker.pkg.coding.net/gocrane/crane/craned:pr-560-4a9c9c7 |
Quick Deploy - Helm
helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace \
--set craned.image.repository=finops-docker.pkg.coding.net/gocrane/crane/craned \
--set craned.image.tag=pr-560-4a9c9c7 \
--set metricAdapter.image.repository=finops-docker.pkg.coding.net/gocrane/crane/metric-adapter \
--set metricAdapter.image.tag=pr-560-4a9c9c7 \
--set craneAgent.image.repository=finops-docker.pkg.coding.net/gocrane/crane/crane-agent \
--set craneAgent.image.tag=pr-560-4a9c9c7 \
--set cranedDashboard.image.repository=finops-docker.pkg.coding.net/gocrane/crane/dashboard \
--set cranedDashboard.image.tag=pr-560-4a9c9c7 crane/crane
Ghcr Registry
Overview: https://github.com/orgs/gocrane/packages?repo_name=crane
| Image | Pull Command |
|---|---|
| crane-agent:pr-560-4a9c9c7 | docker pull ghcr.io/gocrane/crane/crane-agent:pr-560-4a9c9c7 |
| dashboard:pr-560-4a9c9c7 | docker pull ghcr.io/gocrane/crane/dashboard:pr-560-4a9c9c7 |
| metric-adapter:pr-560-4a9c9c7 | docker pull ghcr.io/gocrane/crane/metric-adapter:pr-560-4a9c9c7 |
| craned:pr-560-4a9c9c7 | docker pull ghcr.io/gocrane/crane/craned:pr-560-4a9c9c7 |
Quick Deploy - Helm
helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace \
--set craned.image.repository=ghcr.io/gocrane/crane/craned \
--set craned.image.tag=pr-560-4a9c9c7 \
--set metricAdapter.image.repository=ghcr.io/gocrane/crane/metric-adapter \
--set metricAdapter.image.tag=pr-560-4a9c9c7 \
--set craneAgent.image.repository=ghcr.io/gocrane/crane/crane-agent \
--set craneAgent.image.tag=pr-560-4a9c9c7 \
--set cranedDashboard.image.repository=ghcr.io/gocrane/crane/dashboard \
--set cranedDashboard.image.tag=pr-560-4a9c9c7 crane/crane
🎊 PR Preview c177e23758a7404c96cf04065b5ba644df22f84e has been successfully built and deployed to https://gocrane-crane-preview-pr-560.surge.sh
:clock1: Build time: 0.011s
🤖 By surge-preview
