Configuration Settings for Aerospike Backup Service on Kubernetes
Overviewโ
Aerospike Backup Service (ABS) configuration settings are in the ABS Custom Resource (CR) file. Aerospike Kubernetes Operator (AKO) monitors this CR to deploy and update the backup service.
The AerospikeBackupService Custom Resource Definition (CRD) specifies the CR structure that AKO uses to manage the backup service.
CR examplesโ
CR examples are available in the main Aerospike Kubernetes Operator repository.
Example 1: CR with local storageโ
This example deploys a simple backup service using local storage.
Example 1
apiVersion: asdb.aerospike.com/v1beta1
kind: AerospikeBackupService
metadata:
name: aerospikebackupservice
namespace: aerospike
spec:
image: aerospike/aerospike-backup-service:3.0.0
config:
service:
http:
port: 8081
backup-policies:
test-policy:
parallel: 3
test-policy1:
parallel: 3
storage:
local:
local-storage:
path: /localStorage
service:
type: ClusterIP
Example 2: CR with S3 storage and static S3 credentialsโ
This example deploys a simple backup service with S3 storage.
Example 2
apiVersion: asdb.aerospike.com/v1beta1
kind: AerospikeBackupService
metadata:
name: aerospikebackupservice
namespace: aerospike
spec:
image: aerospike/aerospike-backup-service:3.0.0
config:
service:
http:
port: 8081
backup-policies:
test-policy:
parallel: 3
test-policy1:
parallel: 3
storage:
s3Storage:
s3-storage:
bucket: test-bucket
s3-region: us-east-1
s3-profile: default
secrets:
- secretName: aws-secret
volumeMount:
name: aws-secret
mountPath: /root/.aws/credentials
subPath: credentials
service:
type: ClusterIP
Example 3: CR with S3 storage and IAM roles for Service Accounts (IRSA)โ
This example deploys a simple backup service with S3 storage.
Example 3
apiVersion: asdb.aerospike.com/v1beta1
kind: AerospikeBackupService
metadata:
name: aerospikebackupservice
namespace: aerospike
spec:
image: aerospike/aerospike-backup-service:3.0.0
config:
service:
http:
port: 8081
backup-policies:
test-policy:
parallel: 3
test-policy1:
parallel: 3
storage:
s3Storage:
s3-storage:
bucket: test-bucket
s3-region: us-east-1
service:
type: ClusterIP
Configurationโ
The initial part of the CR file selects the CRD and the namespace to use for the ABS.
apiVersion: asdb.aerospike.com/v1beta1
kind: AerospikeBackupService
metadata:
name: aerospikebackupservice
namespace: aerospike
The rest of this page explains the parameters in the subsequent parts of the CR file. See ABS Configuration for a list of all configuration parameters for ABS.
Some parameters are tagged with Dynamic
and Rolling restart
labels. The Dynamic
label means that the parameter can be changed after the backup service deployment, and Rolling restart
means that it will trigger a rolling restart of backup service pods if changed.
Specโ
The spec section defines the configuration parameters for backup service deployment.
Field | Required | Type | Default | Description |
---|---|---|---|---|
image Dynamic Rolling restart | Yes | String | Container image of Aerospike backup service to run. | |
config Dynamic | Yes | Structure | Aerospike backup service configuration in freeform YAML format. | |
podSpec Dynamic Rolling restart | No | Structure | Specify additional configuration for the AerospikeBackupService pod | |
resources Dynamic Deprecated Rolling restart | No | Structure ResourceRequirements | nil | Configures resource requirements and limits like CPU or memory for the Aerospike backup service container. |
secrets Dynamic Rolling restart | No | Structure | nil | List of secret to be mounted in the backup service. |
service Dynamic | No | Structure | nil | Kubernetes service configuration for the backup service. |
Configโ
spec
-> config
The YAML form of ABS configuration. The following fields can be defined in the ABS configuration:
service
backup-policies
storage
secret-agents
Example:
config:
service:
http:
port: 8081
backup-policies:
test-policy:
parallel: 3
test-policy1:
parallel: 3
storage:
s3Storage:
s3-storage:
bucket: test-bucket
s3-region: us-east-1
s3-profile: default
See the ABS Configuration for more details.
Pod Specโ
spec
-> podSpec
Specify additional configuration for the AerospikeBackupService pod.
Field | Required | Type | Default | Description |
---|---|---|---|---|
serviceContainer Dynamic Rolling restart | No | Structure | Configures the backup service container. | |
metadata Dynamic Rolling restart | No | Structure | Metadata to add to the pod. | |
affinity Dynamic Rolling restart | No | Kubernetes Pod Affinity | Kubernetes Affinity rules for pod placement. These rules are merged with affinity rules that AKO generates. See the OLM documentation on affinity for examples. | |
tolerations Dynamic Rolling restart | No | Kubernetes Pod Tolerations | Kubernetes Toleration for Aerospike pod placement. | |
nodeSelector Dynamic Rolling restart | No | Map of string to string | Node selector constraints for the Aerospike pods. | |
serviceAccountName Dynamic Rolling restart | No | String | aerospike-backup-service | The name of the ServiceAccount to use to run the backup service pod. |
imagePullSecrets Dynamic Rolling restart | No | List of LocalObjectReference | List of references to secrets in the same namespace to use for pulling images used by the pod. |
Service Containerโ
podSpec
-> serviceContainer
Configures the backup service container.
Field | Required | Type | Default | Description |
---|---|---|---|---|
securityContext Dynamic Rolling restart | No | SecurityContext | Defines the security context for the backup service container. | |
resources Dynamic Rolling restart | No | ResourceRequirements | Defines the requests and limits for the backup service container. Resources.Limits > Resources.Requests. |
Metadataโ
podSpec
-> metadata
Metadata to add to the pod.
Field | Required | Type | Default | Description |
---|---|---|---|---|
annotations Dynamic Rolling restart | No | Map of string to string | Kubernetes Annotations | |
labels Dynamic Rolling restart | No | Map of string to string | Kubernetes Labels |
Secretsโ
spec
-> secrets
Configure the secrets and their mount paths to mount the secrets in the container.
Field | Required | Type | Description |
---|---|---|---|
secretName Dynamic Rolling restart | Yes | String | The name of the secret. |
volumeMount Dynamic Rolling restart | Yes | Structure corev1.VolumeMount | Secret volume mount options. |
Example:
secrets:
- secretName: auth-secret
volumeMount:
name: auth-secret
mountPath: /etc/aerospike/secret
Serviceโ
spec
-> service
Configure the Kubernetes service for the backup service.
Field | Required | Type | Default | Description |
---|---|---|---|---|
type Dynamic | Yes | String | ClusterIP | The type of the Kubernetes service. |