mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
advanced node agent
Signed-off-by: Shruti Deshpande <shdeshpa@redhat.com>
This commit is contained in:
committed by
openshift-cherrypick-robot
parent
fc7dd34829
commit
c618d2fa57
@@ -54,8 +54,12 @@ include::modules/oadp-installing-dpa-1-3.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+2]
|
||||
include::modules/oadp-configuring-aws-md5sum.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-client-burst-qps.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-node-agent-load-affinity-guidelines.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-concurrency.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-non-root.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-repository-maintenance.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-velero-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-imagepullpolicy.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-dpa-multiple-bsl.adoc[leveloffset=+1]
|
||||
include::modules/oadp-enabling-csi-dpa.adoc[leveloffset=+2]
|
||||
|
||||
@@ -39,10 +39,14 @@ include::modules/oadp-using-ca-certificates-with-velero-command.adoc[leveloffset
|
||||
// include::modules/oadp-installing-dpa-1-2-and-earlier.adoc[leveloffset=+1]
|
||||
include::modules/oadp-installing-dpa-1-3.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-client-burst-qps.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-node-agent-load-affinity-guidelines.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-concurrency.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-non-root.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-repository-maintenance.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-velero-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-imagepullpolicy.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+2]
|
||||
include::modules/oadp-enabling-csi-dpa.adoc[leveloffset=+2]
|
||||
include::modules/oadp-about-disable-node-agent-dpa.adoc[leveloffset=+2]
|
||||
|
||||
|
||||
@@ -42,10 +42,14 @@ include::modules/oadp-using-ca-certificates-with-velero-command.adoc[leveloffset
|
||||
include::modules/oadp-gcp-wif-cloud-authentication.adoc[leveloffset=+1]
|
||||
include::modules/oadp-installing-dpa-1-3.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-client-burst-qps.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-node-agent-load-affinity-guidelines.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-concurrency.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-non-root.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-repository-maintenance.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-velero-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-imagepullpolicy.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+2]
|
||||
include::modules/oadp-enabling-csi-dpa.adoc[leveloffset=+2]
|
||||
include::modules/oadp-about-disable-node-agent-dpa.adoc[leveloffset=+2]
|
||||
|
||||
|
||||
@@ -26,8 +26,16 @@ include::modules/oadp-setting-resource-limits-and-requests.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+1]
|
||||
// include the module for client burst and qps config
|
||||
include::modules/oadp-configuring-client-burst-qps.adoc[leveloffset=+1]
|
||||
// include module for load affinity setting
|
||||
include::modules/oadp-configuring-node-agent-load-affinity.adoc[leveloffset=+1]
|
||||
// include module for load affinity guidelines
|
||||
include::modules/oadp-node-agent-load-affinity-guidelines.adoc[leveloffset=+1]
|
||||
// include module for loadConcurrency setting
|
||||
include::modules/oadp-configuring-node-agent-load-concurrency.adoc[leveloffset=+1]
|
||||
// include module for repo maintenance setting
|
||||
include::modules/oadp-configuring-repository-maintenance.adoc[leveloffset=+1]
|
||||
// include module for velero load affinity setting
|
||||
include::modules/oadp-configuring-velero-load-affinity.adoc[leveloffset=+1]
|
||||
// include module for image pull policy setting
|
||||
include::modules/oadp-configuring-imagepullpolicy.adoc[leveloffset=+1]
|
||||
// include the module for configuring multiple BSL
|
||||
|
||||
@@ -49,10 +49,14 @@ include::modules/oadp-backup-single-vm.adoc[leveloffset=+1]
|
||||
include::modules/oadp-restore-single-vm.adoc[leveloffset=+1]
|
||||
include::modules/oadp-restore-single-vm-from-multiple-vm-backup.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-client-burst-qps.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-concurrency.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-non-root.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-node-agent-load-affinity-guidelines.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-concurrency.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-repository-maintenance.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-velero-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-imagepullpolicy.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+2]
|
||||
include::modules/oadp-incremental-backup-support.adoc[leveloffset=+1]
|
||||
|
||||
[IMPORTANT]
|
||||
|
||||
@@ -43,10 +43,14 @@ include::modules/oadp-using-ca-certificates-with-velero-command.adoc[leveloffset
|
||||
// include::modules/oadp-installing-dpa-1-2-and-earlier.adoc[leveloffset=+1]
|
||||
include::modules/oadp-installing-dpa-1-3.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-client-burst-qps.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-node-agent-load-affinity-guidelines.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-concurrency.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-non-root.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-repository-maintenance.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-velero-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-imagepullpolicy.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+2]
|
||||
include::modules/oadp-enabling-csi-dpa.adoc[leveloffset=+2]
|
||||
include::modules/oadp-about-disable-node-agent-dpa.adoc[leveloffset=+2]
|
||||
|
||||
|
||||
@@ -48,10 +48,14 @@ include::modules/oadp-using-ca-certificates-with-velero-command.adoc[leveloffset
|
||||
// include::modules/oadp-installing-dpa-1-2-and-earlier.adoc[leveloffset=+1]
|
||||
include::modules/oadp-installing-dpa-1-3.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-client-burst-qps.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-node-agent-load-affinity-guidelines.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-load-concurrency.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agent-non-root.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-repository-maintenance.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-velero-load-affinity.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-imagepullpolicy.adoc[leveloffset=+1]
|
||||
include::modules/oadp-configuring-node-agents.adoc[leveloffset=+2]
|
||||
include::modules/oadp-creating-object-bucket-claim.adoc[leveloffset=+2]
|
||||
include::modules/oadp-enabling-csi-dpa.adoc[leveloffset=+2]
|
||||
include::modules/oadp-about-disable-node-agent-dpa.adoc[leveloffset=+2]
|
||||
|
||||
63
modules/oadp-configuring-node-agent-load-affinity.adoc
Normal file
63
modules/oadp-configuring-node-agent-load-affinity.adoc
Normal file
@@ -0,0 +1,63 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * backup_and_restore/application_backup_and_restore/installing/installing-oadp-aws.adoc
|
||||
|
||||
:_mod-docs-content-type: PROCEDURE
|
||||
[id="oadp-configuring-node-agent-load-affinity_{context}"]
|
||||
= Configuring node agent load affinity
|
||||
|
||||
[role="_abstract"]
|
||||
You can schedule the node agent pods on specific nodes by using the `spec.podConfig.nodeSelector` object of the `DataProtectionApplication` (DPA) custom resource (CR).
|
||||
|
||||
See the following example in which you can schedule the node agent pods on nodes with the label `label.io/role: cpu-1` and `other-label.io/other-role: cpu-2`.
|
||||
|
||||
[source,yaml]
|
||||
----
|
||||
...
|
||||
spec:
|
||||
configuration:
|
||||
nodeAgent:
|
||||
enable: true
|
||||
uploaderType: kopia
|
||||
podConfig:
|
||||
nodeSelector:
|
||||
label.io/role: cpu-1
|
||||
other-label.io/other-role: cpu-2
|
||||
...
|
||||
----
|
||||
|
||||
You can add more restrictions on the node agent pods scheduling by using the `nodeagent.loadAffinity` object in the DPA spec.
|
||||
|
||||
.Prerequisites
|
||||
|
||||
* You must be logged in as a user with `cluster-admin` privileges.
|
||||
* You have installed the {oadp-short} Operator.
|
||||
* You have configured the DPA CR.
|
||||
|
||||
.Procedure
|
||||
|
||||
* Configure the DPA spec `nodegent.loadAffinity` object as shown in the following example.
|
||||
+
|
||||
In the example, you ensure that the node agent pods are scheduled only on nodes with the label `label.io/role: cpu-1` and the label `label.io/hostname` matching with either `node1` or `node2`.
|
||||
+
|
||||
[source,yaml]
|
||||
----
|
||||
...
|
||||
spec:
|
||||
configuration:
|
||||
nodeAgent:
|
||||
enable: true
|
||||
loadAffinity: # <1>
|
||||
- nodeSelector:
|
||||
matchLabels:
|
||||
label.io/role: cpu-1
|
||||
matchExpressions: # <2>
|
||||
- key: label.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- node1
|
||||
- node2
|
||||
...
|
||||
----
|
||||
<1> Configure the `loadAffinity` object by adding the `matchLabels` and `matchExpressions` objects.
|
||||
<2> Configure the `matchExpressions` object to add restrictions on the node agent pods scheduling.
|
||||
@@ -36,6 +36,7 @@ $ oc label node/<node_name> label.io/instance-type='large'
|
||||
configuration:
|
||||
nodeAgent:
|
||||
enable: true
|
||||
uploaderType: kopia
|
||||
loadConcurrency:
|
||||
globalConfig: 1 # <1>
|
||||
perNodeConfig:
|
||||
|
||||
68
modules/oadp-configuring-repository-maintenance.adoc
Normal file
68
modules/oadp-configuring-repository-maintenance.adoc
Normal file
@@ -0,0 +1,68 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * backup_and_restore/application_backup_and_restore/installing/installing-oadp-aws.adoc
|
||||
|
||||
:_mod-docs-content-type: PROCEDURE
|
||||
[id="oadp-configuring-repository-maintenance_{context}"]
|
||||
= Configuring repository maintenance
|
||||
|
||||
[role="_abstract"]
|
||||
{oadp-short} repository maintenance is a background job, you can configure it independently of the node agent pods. This means that you can schedule the repository maintenance pod on a node where the node agent is or is not running.
|
||||
|
||||
You can use the repository maintenance job affinity configurations in the `DataProtectionApplication` (DPA) custom resource (CR) only if you use Kopia as the backup repository.
|
||||
|
||||
You have the option to configure the load affinity at the global level affecting all repositories. Or you can configure the load affinity for each repository. You can also use a combination of global and per-repository configuration.
|
||||
|
||||
|
||||
.Prerequisites
|
||||
|
||||
* You must be logged in as a user with `cluster-admin` privileges.
|
||||
* You have installed the {oadp-short} Operator.
|
||||
* You have configured the DPA CR.
|
||||
|
||||
.Procedure
|
||||
|
||||
* Configure the `loadAffinity` object in the DPA spec by using either one or both of the following methods:
|
||||
** Global configuration: Configure load affinity for all repositories as shown in the following example:
|
||||
+
|
||||
[source,yaml]
|
||||
----
|
||||
...
|
||||
spec:
|
||||
configuration:
|
||||
repositoryMaintenance: # <1>
|
||||
global: # <2>
|
||||
podResources:
|
||||
cpuRequest: "100m"
|
||||
cpuLimit: "200m"
|
||||
memoryRequest: "100Mi"
|
||||
memoryLimit: "200Mi"
|
||||
loadAffinity:
|
||||
- nodeSelector:
|
||||
matchLabels:
|
||||
label.io/gpu: 'no'
|
||||
matchExpressions:
|
||||
- key: label.io/location
|
||||
operator: In
|
||||
values:
|
||||
- US
|
||||
- EU
|
||||
----
|
||||
<1> Configure the `repositoryMaintenance` object as shown in the example.
|
||||
<2> Use the `global` object to configure load affinity for all repositories.
|
||||
|
||||
** Per-repository configuration: Configure load affinity per repository as shown in the following example:
|
||||
+
|
||||
[source,yaml]
|
||||
----
|
||||
...
|
||||
spec:
|
||||
configuration:
|
||||
repositoryMaintenance:
|
||||
myrepositoryname: # <1>
|
||||
loadAffinity:
|
||||
- nodeSelector:
|
||||
matchLabels:
|
||||
label.io/cpu: 'yes'
|
||||
----
|
||||
<1> Configure the `repositoryMaintenance` object for each repository.
|
||||
57
modules/oadp-configuring-velero-load-affinity.adoc
Normal file
57
modules/oadp-configuring-velero-load-affinity.adoc
Normal file
@@ -0,0 +1,57 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * backup_and_restore/application_backup_and_restore/installing/installing-oadp-aws.adoc
|
||||
|
||||
:_mod-docs-content-type: PROCEDURE
|
||||
[id="oadp-configuring-velero-load-affinity_{context}"]
|
||||
= Configuring Velero load affinity
|
||||
|
||||
[role="_abstract"]
|
||||
With each {oadp-short} deployment, there is one Velero pod and its main purpose is to schedule Velero workloads. To schedule the Velero pod, you can use the `velero.podConfig.nodeSelector` and the `velero.loadAffinity` objects in the `DataProtectionApplication` (DPA) custom resource (CR) spec.
|
||||
|
||||
Use the `podConfig.nodeSelector` object to assign the Velero pod to specific nodes. You can also configure the `velero.loadAffinity` object for pod-level affinity and anti-affinity.
|
||||
|
||||
The OpenShift scheduler applies the rules and performs the scheduling of the Velero pod deployment.
|
||||
|
||||
|
||||
.Prerequisites
|
||||
|
||||
* You must be logged in as a user with `cluster-admin` privileges.
|
||||
* You have installed the {oadp-short} Operator.
|
||||
* You have configured the DPA CR.
|
||||
|
||||
.Procedure
|
||||
|
||||
* Configure the `velero.podConfig.nodeSelector` and the `velero.loadAffinity` objects in the DPA spec as shown in the following examples:
|
||||
** `velero.podConfig.nodeSelector` object configuration:
|
||||
+
|
||||
[source,yaml]
|
||||
----
|
||||
...
|
||||
spec:
|
||||
configuration:
|
||||
velero:
|
||||
podConfig:
|
||||
nodeSelector:
|
||||
some-label.io/custom-node-role: backup-core
|
||||
----
|
||||
|
||||
** `velero.loadAffinity` object configuration:
|
||||
+
|
||||
[source,yaml]
|
||||
----
|
||||
...
|
||||
spec:
|
||||
configuration:
|
||||
velero:
|
||||
loadAffinity:
|
||||
- nodeSelector:
|
||||
matchLabels:
|
||||
label.io/gpu: 'no'
|
||||
matchExpressions:
|
||||
- key: label.io/location
|
||||
operator: In
|
||||
values:
|
||||
- US
|
||||
- EU
|
||||
----
|
||||
34
modules/oadp-node-agent-load-affinity-guidelines.adoc
Normal file
34
modules/oadp-node-agent-load-affinity-guidelines.adoc
Normal file
@@ -0,0 +1,34 @@
|
||||
// Module included in the following assemblies:
|
||||
//
|
||||
// * backup_and_restore/application_backup_and_restore/installing/installing-oadp-aws.adoc
|
||||
|
||||
:_mod-docs-content-type: CONCEPT
|
||||
[id="oadp-node-agent-load-affinity-guidelines_{context}"]
|
||||
= Node agent load affinity guidelines
|
||||
|
||||
[role="_abstract"]
|
||||
Use the following guidelines to configure the node agent `loadAffinity` object in the `DataProtectionApplication` (DPA) custom resource (CR).
|
||||
|
||||
* Use the `spec.nodeagent.podConfig.nodeSelector` object for simple node matching.
|
||||
* Use the `loadAffinity.nodeSelector` object without the `podConfig.nodeSelector` object for more complex scenarios.
|
||||
* You can use both `podConfig.nodeSelector` and `loadAffinity.nodeSelector` objects, but the `loadAffinity` object must be equal or more restrictive as compared to the `podConfig` object. In this scenario, the `podConfig.nodeSelector` labels must be a subset of the labels used in the `loadAffinity.nodeSelector` object.
|
||||
* You cannot use the `matchExpressions` and `matchLabels` fields if you have configured both `podConfig.nodeSelector` and `loadAffinity.nodeSelector` objects in the DPA.
|
||||
* See the following example to configure both `podConfig.nodeSelector` and `loadAffinity.nodeSelector` objects in the DPA.
|
||||
+
|
||||
[source,yaml]
|
||||
----
|
||||
...
|
||||
spec:
|
||||
configuration:
|
||||
nodeAgent:
|
||||
enable: true
|
||||
uploaderType: kopia
|
||||
loadAffinity:
|
||||
- nodeSelector:
|
||||
matchLabels:
|
||||
label.io/location: 'US'
|
||||
label.io/gpu: 'no'
|
||||
podConfig:
|
||||
nodeSelector:
|
||||
label.io/gpu: 'no'
|
||||
----
|
||||
Reference in New Issue
Block a user