Application Auto Scaling
2 resource kinds. Generated from the operator's CRD schemas.
API Group:
aws.konfig.io/v1alpha1
AppScalingPolicy # GA
AppScalingPolicy is the Schema for managing Application Auto Scaling policies.
kubectl get appscalingpolicies · example on GitHub
Example
# AppScalingPolicy — Application Auto Scaling
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/applicationautoscaling.html#appscalingpolicy
apiVersion: aws.konfig.io/v1alpha1
kind: AppScalingPolicy
metadata:
name: example-appscalingpolicy
namespace: default
spec:
policyName: example-appscalingpolicy
policyType: TargetTrackingScaling
providerRef:
name: example-appscalingpolicy
region: us-east-1
scalableDimension: example
serviceNamespace: example
stepScalingConfiguration:
adjustmentType: ChangeInCapacity
cooldown: 1
metricAggregationType: Average
minAdjustmentMagnitude: 1
stepAdjustments:
- metricIntervalLowerBound: 1
metricIntervalUpperBound: 1
scalingAdjustment: 1
targetRef:
name: example-target
targetTrackingConfiguration:
disableScaleIn: false
predefinedMetricType: example
resourceLabel: example
scaleInCooldown: 1
scaleOutCooldown: 1
targetValue: 1
Spec
| Field | Type | Required | Description |
|---|---|---|---|
policyName | string | yes | PolicyName is the name of the scaling policy. |
policyType | enum | yes | PolicyType is the scaling policy type. Allowed: TargetTrackingScaling, StepScaling |
providerRef | object | — | ProviderRef selects the AWSProvider (account/region) this resource is reconciled against. |
providerRef.name | string | yes | Name of a cluster-scoped AWSProvider. |
providerRef.region | string | — | Region overrides the provider's region for this resource only. |
resourceId | string | — | ResourceID of the scalable target (inline alternative to targetRef). |
scalableDimension | string | — | ScalableDimension of the scalable target (inline alternative to targetRef). |
serviceNamespace | string | — | ServiceNamespace of the scalable target (inline alternative to targetRef). |
stepScalingConfiguration | object | — | StepScalingConfiguration configures a StepScaling policy. |
stepScalingConfiguration.adjustmentType | enum | yes | AdjustmentType: ChangeInCapacity, PercentChangeInCapacity, or ExactCapacity. Allowed: ChangeInCapacity, PercentChangeInCapacity, ExactCapacity |
stepScalingConfiguration.cooldown | integer | — | Cooldown between scaling activities in seconds. |
stepScalingConfiguration.metricAggregationType | enum | — | MetricAggregationType: Average, Minimum, or Maximum. Allowed: Average, Minimum, Maximum |
stepScalingConfiguration.minAdjustmentMagnitude | integer | — | MinAdjustmentMagnitude for PercentChangeInCapacity adjustments. |
stepScalingConfiguration.stepAdjustments | array<object> | yes | StepAdjustments are the scaling steps. |
stepScalingConfiguration.stepAdjustments[].metricIntervalLowerBound | number | — | MetricIntervalLowerBound is the lower bound of the step (difference from threshold). |
stepScalingConfiguration.stepAdjustments[].metricIntervalUpperBound | number | — | MetricIntervalUpperBound is the upper bound of the step (difference from threshold). |
stepScalingConfiguration.stepAdjustments[].scalingAdjustment | integer | yes | ScalingAdjustment is the amount to scale by (interpreted per adjustmentType). |
targetRef | object | — | TargetRef references a ScalableTarget CR whose serviceNamespace, resourceId and scalableDimension the policy applies to. |
targetRef.name | string | yes | Name of a ScalableTarget CR in the same namespace. |
targetTrackingConfiguration | object | — | TargetTrackingConfiguration configures a TargetTrackingScaling policy. |
targetTrackingConfiguration.disableScaleIn | boolean | — | DisableScaleIn prevents the policy from scaling in. |
targetTrackingConfiguration.predefinedMetricType | string | yes | PredefinedMetricType is the predefined metric to track, e.g. |
targetTrackingConfiguration.resourceLabel | string | — | ResourceLabel identifies a specific resource for ALBRequestCountPerTarget. |
targetTrackingConfiguration.scaleInCooldown | integer | — | ScaleInCooldown is the cooldown (seconds) after a scale-in activity. |
targetTrackingConfiguration.scaleOutCooldown | integer | — | ScaleOutCooldown is the cooldown (seconds) after a scale-out activity. |
targetTrackingConfiguration.targetValue | number | yes | TargetValue is the target value for the metric. |
Status
| Field | Type | Required | Description |
|---|---|---|---|
awsProvider | object | — | AWSProvider confirms the account and region this resource was reconciled against. |
awsProvider.accountId | string | — | AccountID the resource lives in. |
awsProvider.name | string | — | Name of the AWSProvider used; empty when the operator's own credentials were used. |
awsProvider.region | string | — | Region the resource lives in (empty for global services). |
conditions | array<object> | — | Conditions describe the current state of the resource. |
conditions[].lastTransitionTime | string | yes | lastTransitionTime is the last time the condition transitioned from one status to another. |
conditions[].message | string | yes | message is a human readable message indicating details about the transition. |
conditions[].observedGeneration | integer | — | observedGeneration represents the .metadata.generation that the condition was set based upon. |
conditions[].reason | string | yes | reason contains a programmatic identifier indicating the reason for the condition's last transition. |
conditions[].status | enum | yes | status of the condition, one of True, False, Unknown. Allowed: True, False, Unknown |
conditions[].type | string | yes | type of condition in CamelCase or in foo.example.com/CamelCase. |
lastSyncTime | string | — | LastSyncTime is when the resource was last successfully reconciled. |
observedGeneration | integer | — | ObservedGeneration is the most recent .metadata.generation reconciled. |
policyArn | string | — | PolicyARN is the ARN of the scaling policy. |
ScalableTarget # GA
ScalableTarget is the Schema for managing Application Auto Scaling scalable targets.
kubectl get scalabletargets · example on GitHub
Example
# ScalableTarget — Application Auto Scaling
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/applicationautoscaling.html#scalabletarget
apiVersion: aws.konfig.io/v1alpha1
kind: ScalableTarget
metadata:
name: example-scalabletarget
namespace: default
spec:
maxCapacity: 1
minCapacity: 1
providerRef:
name: example-scalabletarget
region: us-east-1
resourceId: example-id
roleArn: arn:aws:iam::123456789012:role/example-role
scalableDimension: example
serviceNamespace: ecs
tags:
environment: dev
team: platform
Spec
| Field | Type | Required | Description |
|---|---|---|---|
maxCapacity | integer | yes | MaxCapacity is the maximum value that Application Auto Scaling can scale to. |
minCapacity | integer | yes | MinCapacity is the minimum value that Application Auto Scaling can scale to. |
providerRef | object | — | ProviderRef selects the AWSProvider (account/region) this resource is reconciled against. |
providerRef.name | string | yes | Name of a cluster-scoped AWSProvider. |
providerRef.region | string | — | Region overrides the provider's region for this resource only. |
resourceId | string | yes | ResourceID identifies the resource, e.g. |
roleArn | string | — | RoleARN is the ARN of the IAM role that allows Application Auto Scaling to modify the scalable target. |
scalableDimension | string | yes | ScalableDimension is the scalable property of the resource, e.g. |
serviceNamespace | enum | yes | ServiceNamespace is the AWS service namespace of the scalable resource. Allowed: ecs, elasticmapreduce, ec2, appstream, dynamodb, rds, sagemaker, custom-resource… |
tags | map<string> | — | Tags are AWS resource tags to apply on registration. |
Status
| Field | Type | Required | Description |
|---|---|---|---|
awsProvider | object | — | AWSProvider confirms the account and region this resource was reconciled against. |
awsProvider.accountId | string | — | AccountID the resource lives in. |
awsProvider.name | string | — | Name of the AWSProvider used; empty when the operator's own credentials were used. |
awsProvider.region | string | — | Region the resource lives in (empty for global services). |
conditions | array<object> | — | Conditions describe the current state of the resource. |
conditions[].lastTransitionTime | string | yes | lastTransitionTime is the last time the condition transitioned from one status to another. |
conditions[].message | string | yes | message is a human readable message indicating details about the transition. |
conditions[].observedGeneration | integer | — | observedGeneration represents the .metadata.generation that the condition was set based upon. |
conditions[].reason | string | yes | reason contains a programmatic identifier indicating the reason for the condition's last transition. |
conditions[].status | enum | yes | status of the condition, one of True, False, Unknown. Allowed: True, False, Unknown |
conditions[].type | string | yes | type of condition in CamelCase or in foo.example.com/CamelCase. |
lastSyncTime | string | — | LastSyncTime is when the resource was last successfully reconciled. |
observedGeneration | integer | — | ObservedGeneration is the most recent .metadata.generation reconciled. |
scalableTargetArn | string | — | ScalableTargetARN is the ARN of the scalable target. |