Skip to main content
Loading
Version: Operator 4.0.0

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.

FieldRequiredTypeDefaultDescription
image
Dynamic Rolling restart
YesStringContainer image of Aerospike backup service to run.
config
Dynamic
YesStructureAerospike backup service configuration in freeform YAML format.
podSpec
Dynamic Rolling restart
NoStructureSpecify additional configuration for the AerospikeBackupService pod
resources
Dynamic Deprecated Rolling restart
NoStructure ResourceRequirementsnilConfigures resource requirements and limits like CPU or memory for the Aerospike backup service container.
secrets
Dynamic Rolling restart
NoStructurenilList of secret to be mounted in the backup service.
service
Dynamic
NoStructurenilKubernetes 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:

  1. service
  2. backup-policies
  3. storage
  4. 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.

FieldRequiredTypeDefaultDescription
serviceContainer
Dynamic Rolling restart
NoStructureConfigures the backup service container.
metadata
Dynamic Rolling restart
NoStructureMetadata to add to the pod.
affinity
Dynamic Rolling restart
NoKubernetes Pod AffinityKubernetes 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
NoKubernetes Pod TolerationsKubernetes Toleration for Aerospike pod placement.
nodeSelector
Dynamic Rolling restart
NoMap of string to stringNode selector constraints for the Aerospike pods.
serviceAccountName
Dynamic Rolling restart
NoStringaerospike-backup-serviceThe name of the ServiceAccount to use to run the backup service pod.
imagePullSecrets
Dynamic Rolling restart
NoList of LocalObjectReferenceList 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.

FieldRequiredTypeDefaultDescription
securityContext
Dynamic Rolling restart
NoSecurityContextDefines the security context for the backup service container.
resources
Dynamic Rolling restart
NoResourceRequirementsDefines the requests and limits for the backup service container. Resources.Limits > Resources.Requests.

Metadataโ€‹

podSpec -> metadata

Metadata to add to the pod.

FieldRequiredTypeDefaultDescription
annotations
Dynamic Rolling restart
NoMap of string to stringKubernetes Annotations
labels
Dynamic Rolling restart
NoMap of string to stringKubernetes Labels

Secretsโ€‹

spec -> secrets

Configure the secrets and their mount paths to mount the secrets in the container.

FieldRequiredTypeDescription
secretName
Dynamic Rolling restart
YesStringThe name of the secret.
volumeMount
Dynamic Rolling restart
YesStructure corev1.VolumeMountSecret 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.

FieldRequiredTypeDefaultDescription
type
Dynamic
YesStringClusterIPThe type of the Kubernetes service.