ConfigureSettingsAnnotations
All available annotations for StormForge configuration
The purpose of this topic is to describe how to use annotations to configure optimization settings.
Topics:
To configure settings an individual workload, edit the resource definition or run kubectl annotate.
Workload optimization settings are defined by annotations in the metadata.annotations section of a Deployment, StatefulSet, or other supported workload resource type.
Workload optimization settings:
Open the workload definition in your favorite editor. This is commonly done using commands like these (remember to replace DEPLOYMENT and FILENAME with your own values):
kubectl get deployment DEPLOYMENT -o yaml > FILENAME && $EDITOR FILENAME
or:
kubectl edit deployment DEPLOYMENT
Edit the metadata.annotations section to include the annotations you need. For a complete list of annotations for StormForge settings, see the Optimization settings and descriptions topic.
Your file will look something like this:
apiVersion: apps/v1 # ⎡ just an example; represents any ⎤
kind: Deployment # ⎣ supported workload resource type ⎦
metadata:
name: example-workload-name
annotations:
live.stormforge.io/schedule: "@daily"
live.stormforge.io/auto-deploy: "Enabled"
...
To save time, you can copy the complete list of annotations from the sample Deployment YAML excerpt on the Workload tab in the Copy a template section of the configuration topic.
Save your changes.
If you chose to run the kubectl get deployment DEPLOYMENT -o yaml > FILENAME ... command in step 1, apply your changes.
kubectl apply -f FILENAME
Optional: Confirm your changes by running the following command and then reviewing the annotations in the metadata.annotations section of the output:
kubectl get deployment DEPLOYMENT -o yaml
kubectl annotate commandRun the kubectl annotate command and include the annotation=value pairs you want to set.
The Kubernetes object you annotate should be the workload resource itself, such as a Deployment or StatefulSet.
As an example, a kubectl annotate for a Deployment workload might look something like this (remember to replace NAME with your appropriate value):
kubectl annotate deployment NAME \
live.stormforge.io/schedule="@daily" \
live.stormforge.io/auto-deploy="Enabled" \
live.stormforge.io/containers.cpu.requests.min="20m" \
live.stormforge.io/containers.cpu.requests.max="16000m"
To save time, you can copy the pairs you need from the sample Namespace YAML excerpt on the Namespace tab in the Copy a template section of the configuration topic. Be sure to replace the : separator from the template with = as shown in the sample command above.
Optional: To confirm your changes, run the following command and review the annotations in the .metadata.annotations section of the output:
kubectl get deployment NAME -o yaml