Skip to content

Pod Configuration

This page describes the configuration options for the Pod of a Restore.

It is possible to set the resource requirements of the Pod of the Restore process.

To do so, set the .spec.resources field to a ResourceRequirements . object.

apiVersion: kannika.io/v1alpha
kind: Restore
metadata:
name: restore
spec:
sink: "sink"
source: "source"
resources:
requests:
memory: "1Gi"
cpu: "250m"
limits:
memory: "1Gi"
# cpu: "500m"

It is advised to set the memory limits to the same value as the memory requests, and to not set any cpu limit.

To define how much CPU and memory is needed, see the Restore Requirements.

A ServiceAccount is used to provide an identity for processes that run in a Pod. The identity is used to determine what resources the process has access to.

It is possible to set the ServiceAccount for the Pod of the Restore process.

To do so, set the .spec.serviceAccountName field to the name of the ServiceAccount.

apiVersion: kannika.io/v1alpha
kind: Restore
metadata:
name: restore
spec:
sink: "sink"
source: "source"
serviceAccountName: "restore-sa"

It is possible to add extra arguments to the Restore process.

To do so, add the .spec.extraArgs field with a list of args.

apiVersion: kannika.io/v1alpha
kind: Restore
metadata:
name: restore
spec:
sink: "sink"
source: "source"
extraArgs:
- "--foo"
- "bar"

It is possible to set environment variables for the Restore process.

To do so, set the .spec.extraEnvVars field to a list of environment variables.

apiVersion: kannika.io/v1alpha
kind: Restore
metadata:
name: restore
spec:
sink: "sink"
source: "source"
extraEnvVars:
- name: "RUST_LOG"
value: "debug"

When using a private container registry, it is necessary to provide credentials to pull images from the registry.

It is possible to set the image pull secrets for the Pod of the Restore process. Note that this feature is also available as a global setting during the installation of the operator. This section is only for setting the image pull secrets for a specific Restore.

To set the image pull secrets, set the .spec.imagePullSecrets field to an array of objects with the name of a Secret.

apiVersion: kannika.io/v1alpha
kind: Restore
metadata:
name: restore
spec:
sink: "sink"
source: "source"
imagePullSecrets:
- name: "myregistrykey"
---
apiVersion: v1
kind: Secret
metadata:
name: myregistrykey
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: <base64 encoded .docker/config.json>

It is possible to set Tolerations for the Pod of the Restore process.

To do so, set the .spec.tolerations field to a list of tolerations.

Note that these tolerations are in addition to the default tolerations set by the operator.

apiVersion: kannika.io/v1alpha
kind : Restore
metadata:
name: restore
spec:
sink: "sink"
source: "source"
tolerations:
- key: "key"
operator: "Equal"
value: "value"
effect: "NoSchedule"

It is possible to set the affinity of the Pod of the Restore process.

To do so, set the .spec.affinity field to an Affinity object.

Note that these affinities override the default affinities set by the operator.

apiVersion: kannika.io/v1alpha
kind: Restore
metadata:
name: restore
spec:
sink: "sink"
source: "source"
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: topology.kubernetes.io/zone
operator: In
values:
- antarctica-east1
- antarctica-west1

It is possible to set the node selector of the Pod of the Restore process.

To do so, set the .spec.nodeSelector field to a map of key-value pairs.

Note that this overrides the default node selector set by the operator.

apiVersion: kannika.io/v1alpha
kind: Restore
metadata:
name: restore
spec:
sink: "sink"
source: "source"
nodeSelector:
location: "the-moon"