Advanced Agent Configuration
Overview
The CloudCasa agent is composed of multiple containers, presided over by an Agent Manager. The Agent Manager acts somewhat like an operator, managing and updating the various agent components as necessary.
Some sites have complex requirements regarding labels, annotations, requests, limits, etc. that must be applied to the agent pods or namespaces. It is necessary to inform the Agent Manager of these, so that they are properly applied when agent components are updated/redeployed.
The Customize agent installation parameters section under Advanced options in the Edit cluster page allows administrators to configure these properties using YAML.
The YAML document for this has the following schema:
common:
annotations:
labels:
azure-files-rbac:
cluster-roles:
annotations:
labels:
cluster-role-bindings:
annotations:
labels:
roles:
annotations:
labels:
role-bindings:
annotations:
labels:
service-accounts:
annotations:
labels:
cluster-role-bindings:
cloudcasa-io:
annotations:
labels:
roles:
data-mover:
annotations:
labels:
role-bindings:
data-mover:
annotations:
labels:
service-accounts:
cloudcasa-io:
annotations:
labels:
data-mover:
annotations:
labels:
namespaces:
cloudcasa-io:
annotations:
labels:
applyToAllTemporaryCloudCasaNamespaces:
deployments:
kubeagent:
annotations:
labels:
cloudcasa-kubeagent-manager:
annotations:
labels:
pods:
kubeagent:
annotations:
labels:
priorityClass:
cloudcasa-kubeagent-manager:
annotations:
labels:
priorityClass:
data-mover:
annotations:
labels:
priorityClass:
azure-files-mover:
annotations:
labels:
priorityClass:
containers:
kubeagent:
securityContext:
requests:
limits:
env:
kubeagent-backup-helper:
securityContext:
requests:
limits:
env:
kubeagentmanager:
securityContext:
requests:
limits:
env:
data-mover:
securityContext:
env:
azure-files-mover:
securityContext:
requests:
limits:
env:
services:
kubeagent:
annotations:
labels:
portName:
network-policies:
allow-kubeagent-manager-traffic:
annotations:
labels:
Example
An example that simply configures CPU and memory requests and limits for the different agent components is:
containers:
kubeagent:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 250m
memory: 128Mi
kubeagent-backup-helper:
limits:
cpu: 1000m
memory: 1Gi
requests:
cpu: 500m
memory: 128Mi
kubeagentmanager:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 250m
memory: 64Mi
Notes
Users must provide the entire
securityContext
section.Annotations and labels set in the
common
section will be overwritten by the values set at the resource level.